c语言二进制输出

我们知道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的上限即可

你可能感兴趣的:(c语言)