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

  

posted @ 2018-02-26 15:23  王默默  阅读(2113)  评论(0编辑  收藏  举报