#include <stdio.h> int main(void){ //利用移位运算符 把十进制转换成二进制 int c; printf("输入数字:");//8 scanf("%d",&c); //最高位和次高位都要移动到最低位 //补码:00 0000 1000 //逻辑右移>>:00 0000 1000 //printf("%d",8<<2);return; int i = sizeof(c)*8-1;//31位 for(;i>=0;i--){ int bit = (c>>i)&1; //右移1位相当于除以2 右移2位除以4 //左移1位等于乘2 左移2位等于乘4 printf("%d",bit); } printf("\n"); return 0; }