输出ostringstream的积分作为二进制?

时间:2010-05-12 16:33:47

标签: c++ binary stream bitset integral

我刚刚意识到可以使用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

1 个答案:

答案 0 :(得分:2)

不幸的是,没有std::bin操纵器类似于octhex。通过bitset对象进行过滤是输入和输出二进制格式数字的首选方法。