通过与01做位与运算,从高位开始输出。
#include<stdio.h>
int main(){
unsigned char i,j;
scanf("%d",&i);
printf("十六进制输出: 0x%x\n",i);
printf("八进制输出: %04o\n",i);
printf("二进制输出:\n");
for (int ix=7; ix>=0; ix--){
j = ((i>>ix)& (01));
printf("%d",j);
}
return 0;
}
输出:
195 <---input
十六进制输出: 0xc3
八进制输出: 0303
二进制输出:
11000011