上的 cppreference 页面std::setbase
说:
非 8、10 或 16 的基值会将基域重置为零,这对应于十进制输出和依赖于前缀的输入。
怎么来的?
仅支持这些基础是否有特殊原因?至少支持 16 以内的任何东西(实际上是 36:0-9 然后是 az)似乎是微不足道的,而不必做出任何艰难的选择。具体来说, 2 是一个流行的基础,我认为应该有兴趣std::setbase(2)
(和相应的std::binary
)。
我显然可以打印我自己的位,但我的 ostream 这样做会很好。