我们知道c语言有10进制整形输出%d,八进制输出%o,但是就是没有二进制输出,
我们可以使用stdlib.h中自带的itoa函数:
char *itoa (int value, char *str, int base );//base是进制,填2即可2进制转换
由于嵌入式的东西,本人觉得为了打印个二进制包含这个库有点多余,就写了个printf2:
void printf2(char n)
{
char i=0;
for(i=0; i<8; i++ ){
if(n&(0x80>>i)){
printf("1");
}else{
printf("0");
}
}
printf("\n");
}
printf2(0xAA)
输出结果:10101010
注意:输入的数必须是char型,其他类型修改下输入值和i的上限即可