此问题已在此处有答案:
11年前关闭。
可能重复:
Is there a printf converter to print in binary format?
这是我的节目单
#include<stdio.h>
int main ()
{
int i,a=2;
i=~a;
printf("a=%d\ni=%d\n",a,i);
return 0;
}
输出为
a=2
i=-3
我想用二进制打印出来。%x,%o,%d分别代表十六进制,八进制和十进制数,但是在printf中打印二进制是什么呢?
2条答案
按热度按时间g6ll5ycj1#
printf()并不直接支持这一点。相反,你必须创建自己的函数。
类似于:
z9gpfhce2#
虽然ANSI C没有这种机制,但可以使用
itoa()
作为快捷方式:来源:
itoa()
in cplusplus reference这是一个非标准的C语言,但是K&R在C书中提到了它的实现,所以它应该是很常见的。它应该在
stdlib.h
中。