解题思路:逻辑与运算可以清楚杂质(&000....) 保留原值(&1111..)
注意事项:
参考代码:
#include<stdio.h>
int main(){
unsigned getbits(unsigned,unsigned,unsigned);
unsigned value,n1,n2;
scanf("%u%u%u",&value,&n1,&n2);
printf("%u\n",getbits(value,n1,n2));
return 0;
}
unsigned getbits(unsigned v,unsigned a,unsigned b){
unsigned x=0;
return v&(~x<<a)&(~x>>31-b);//二进制左移低位补0,二进制右移高位补0
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:603 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:533 |
1113题解浏览:784 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:608 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:568 |
马拦过河卒 (C语言代码)浏览:1092 |
小九九 (C++代码)简单粗暴,直接输出浏览:664 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:477 |
C语言程序设计教程(第三版)课后习题7.3 (C++代码)浏览:458 |