#include<stdio.h>intmain(){
constint bits =sizeof(int)*8;unsignedint mask =1<< bits -1;// 0x80000000int n;printf("Input an integer:");scanf("%d",&n);for(int i =0; i < bits; i++){
printf("%c", n & mask ?'1':'0');
mask>>=1;}return0;}
将n左移
#include<stdio.h>intmain(){
constint bits =sizeof(int)*8;unsignedint mask =1<< bits -1;// 0x80000000int n;printf("Input an integer:");scanf("%d",&n);for(int i =0; i < bits; i++){
printf("%c", n & mask ?'1':'0');
n <<=1;}return0;}
2、用符号位实现
当整数为负数时,最高位为1
intmain(){
constint bits =sizeof(int)*8;unsignedint mask =1<< bits -1;int n=0;scanf("%d",&n);int i;printf("Input an integer");for(i =0; i < bits; i++){
printf("%c", n >0?'0':'1');
n <<=1;}return0;}
#include<stdio.h>intmain(){
constint bits =sizeof(int)*8;unsignedint mask =1<< bits -1;int n=0;printf("Input an integer:");scanf("%d",&n);int i;for(i =0; i < bits; i++){
printf("%d", n <0);//小于0时,最高位为1,这里是%d
n <<=1;}return0;}