3

我正在尝试在 C++ 中以二进制形式打印出一个无符号值。我为这项任务找到了许多技巧,例如

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

但是,我觉得应该有一个更直接的方法,也许用sprintf. 毕竟,有非常简单的方法可以打印十六进制或八进制值。

4

2 回答 2

7

简单 - 使用 STL位集

例如

bitset<10> n (120ul); // 10 bits in this case
cout << n.to_string() << endl;
于 2013-03-10T05:19:04.457 回答
4

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

于 2013-03-10T05:01:54.170 回答