之前我们实现了二进制中1的统计,那我们也可以将二进制中的每一位打映并且将奇数和偶数也表达出来。
首先是每一位的打映,这个在之前的文章中有相似的思路,就是让要判断数与1相&,就能判断一位数,判断一位就让它向右移动一位,那么就让它重复32次就可以实现了:
int main()
{
int a = 1;
int i = 0;
for (i = 0; i < 32; i++)
{
printf("%d ", (a >> i) & 1);
}
return 0;
那么就是奇数和偶数的判断了,这个也可以轻松实现了,只需要让奇数和偶数分别判断就行了
int main()
{
int sum = 0;
scanf("%d",&sum);
int i = 0;
printf("偶数: ");
for (i = 0; i < 32; i+=2)
{
printf("%d ",(sum>>i)&1);
}
printf("\n奇数: ");
for (i = 1; i <= 32; i += 2)
{
printf("%d ", (sum >> i) & 1);
}
return 0;
}
标签:奇数,二进制,32,sum,偶数,int,printf
From: https://blog.csdn.net/credif/article/details/144147400