C 利用移位运算符 把十进制转换成二进制

#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("
");
	return 0;
}

  

原文地址:https://www.cnblogs.com/wanglijun/p/8473448.html