/*把一个十进制数以二进制输出*/
#include
int main(void)
{
const int bit = sizeof(int) * 8; //判断整型有多少位
unsigned int bak = 1 << bit-1; //一个数只有第一位为1,其余全为0
int num;
int i;
printf("请输入一个数:");
scanf("%d", &num);
for(i = 1; i <= bit; ++i)
{
/* if(num & bak) //相与的结果只有0或者不是0,不是0则输出字符1
{
printf("%c", '1');
}
else
{
printf("%c", '0');
}
bak = bak >> 1; //每一次把bak右移一位
*/
printf("%c", num < 0 ? '1' : '0');
num <<= 1;
}
printf("\n");
return 0;
}