标签: c++ binary type-conversion
我试图在C ++中打印出二进制的无符号值。我发现了许多黑客,比如
http://www.java2s.com/Tutorial/Cpp/0040__Data-Types/Printinganunsignedintegerinbits.htm
然而,我觉得应该有一种更直接的方式,也许是sprintf。毕竟,有非常简单的方法以十六进制或八进制打印值。
sprintf
答案 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)。