本帖最后由 S970028126 于 2015-6-22 23:09 编辑
#include <stdio.h>
void printfBinary(int number);
int main()
{
printfBinary(8);
return 0;
}
void printfBinary(int number)
{
int temp = 31; //31是这样算出来的 int temp = (sizeof(number) << 3) - 1 sizeof是计算所占字节, 左移三位是乘8,占32位
while (temp >= 0)
{
int value = number >> temp & 1; // 向右移动31位,输出第一位,向右移动30位,输出第二位。。。与1&是将前面右移产生的0去掉
printf("%d\n", value);
temp --;
}
printf("\n");
}
|