#include<stdio.h>

#define N 32


int getbits(int a,int n1,int n2){

int b[N];

int i;

for(i=0;a != 0 && i<N;i++){

b[i]=a%2;

a/=2;

}

for(;i<N;i++){

b[i]=0;

}

for(i=0;i<n1;i++){

b[i]=0;

}

for(i=n2+1;i<N;i++){

b[i]=0;

}

int result=0;

int j;

for(i=0;i<N;i++){

for(j=0;j<i;j++){

b[i]*=2;

}

result+=b[i];

}

return result;

}

int main()

{

int value=1023,n1=5,n2=15;

scanf("%d %d %d",&value,&n1,&n2);

printf("%d",getbits(value,n1,n2));

return 0;

}


 

0.0分

0 人评分

  评论区

for(;i<N;i++){

b[i]=0;

}
这一步什么意思啊  为啥要加这一步
2021-10-10 10:58:05
  • «
  • 1
  • »