来自网易云课堂,C语言程序设计进阶(翁恺)
#include <stdio.h>
int main()
{
int number;
scanf("%d", &number);
unsigned mask = 1u<<31;<span style="white-space:pre"> </span>// 0000 ... 0001 向左移31位,得到1000 ... 0000
for(; mask; mask>>=1)<span style="white-space:pre"> </span>// 每次按位取与,输出一位,mask右移一位
{
printf("%d", number & mask?1:0);
}
printf("\n");
return 0;
}