printf二进制输出
printf二进制输出
在C标准库中使用printf函数几乎可输出任意格式,但C语言标准库中并没有提供%b格式控制符用来输出二进制,我们可以使用递归自己写一个输出二进制的函数,输出的二进制形式为按位输出的字符格式:
1.输出二进制函数
#include <stdio.h>
void Print_Binary(unsigned int x) {
if (x > 1) {
print_binary(x >> 1);
}
putchar((x & 1) ? '1' : '0');
}
2.举例
代码如下(示例):
#include<stdio.h>
void Print_Binary(unsigned int x) {
if (x > 1) {
Print_Binary(x >> 1);
}
putchar((x & 1) ? '1' : '0');
}
void main(int argc,char* argv[])
{
int num1 = 178;
int num2 = 305;
printf("178 Binary:");
Print_Binary(num1);
printf("\t\n");
printf("305 Binary:");
Print_Binary(num2);
printf("\t\n");
}
结果:
178 Binary:10110010
305 Binary:100110001