#编程实现10进制转2进制 // >>(31-i) 取出二进制数的每一位数 1100......1100 // &1 任何一个数和1进行&(按位与)得到任何一个数的二进制的最后一位
void changeTo2(int num){ //12
int len = sizeof(int)*8; //二进制每个字节占8位 int 占 32位
//定义一个变量 保存二进制的每一位 int temp = 0;
for (int i = 0; i<len; i++) {
temp = num;
//每次移动的位数 temp = temp >> (31-i); //1 1 0
// 1101 ...... 0001
//取出最后一位 使用& 同1为1,有0为0 temp = temp & 1; //1 1 0
//逢4空格 if (0 == i%4) {
printf(" ");
}
printf("%d",temp); 110 }
printf("\n");
}
|