1772:
读入一个10进制正整数,将其进行二进制表示,取其从右端开始的第4至7位,输出这一部分的10进制表示。
#include<stdio.h>
#include<math.h>
int main()
{
int a, two_list[32], i=0;
int sum = 0;
scanf("%d", &a);
while (a != 0)
{
two_list[i++] = a % 2;
a = a/2;
}
// for (i--; i>=0; i--)
// {
// printf("%d", two_list[i]);
// }
// printf("\n");
for (int j=0; j<4; j++)
{
if (two_list[j+4] == 1)
sum += pow(2, j);
// printf("%d", two_list[j+4]);
}
printf("%d\n", sum);
return 0;
}