如何在C ++中打印出二进制的unsigned int?

时间:2013-03-10 04:59:51

标签: c++ binary type-conversion

我试图在C ++中打印出二进制的无符号值。我发现了许多黑客,比如

http://www.java2s.com/Tutorial/Cpp/0040__Data-Types/Printinganunsignedintegerinbits.htm

然而,我觉得应该有一种更直接的方式,也许是sprintf。毕竟,有非常简单的方法以十六进制或八进制打印值。

2 个答案:

答案 0 :(得分:7)

简单 - 使用STL bitset

e.g。

bitset<10> n (120ul); // 10 bits in this case
cout << n.to_string() << endl;

答案 1 :(得分:4)

printf familiy不支持base-2打印。您需要使用自定义或非标准函数,例如itoa(只需将基数/基数设置为2)。