我可以用printf打印成十六进制或八进制的数字。 有没有一个格式标签可以打印成二进制,或任意进制?
我正在运行gcc。
printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n"
print("%b\n", 10); // prints "%b\n"
在C语言标准库中没有格式化函数来输出这样的二进制。printf系列支持的所有格式操作都是针对人类可读的文本。
没有标准和便携的方式。
一些实现提供了itoa(),但它不会出现在大多数情况下,而且它有一个有点糟糕的接口。 但代码在链接后面,应该可以让你很容易地实现自己的格式化。