我刚刚意识到可以使用bitset根据bitset的(固定)大小将二进制数据输出到流。使用积分将二进制数据输出到流的最少语法方法是什么?
为了表明我的意思,这是一个程序及其输出。我希望这个程序的第二行输出与第一行相同,但不依赖于用于输出第三行的技术。
int main()
{
ostringstream bsout, uout, xout;
bitset<32> bs (0x31323334);
unsigned u = 0x31323334;
bsout << bs;
cout << bsout.str() << endl;
uout << u;
cout << uout.str() << endl;
xout << bitset<32>(u);
cout << xout.str() << endl;
return 0;
}
00110001001100100011001100110100
825373492
00110001001100100011001100110100
答案 0 :(得分:2)
不幸的是,没有std::bin
操纵器类似于oct
和hex
。通过bitset
对象进行过滤是输入和输出二进制格式数字的首选方法。