如何以二进制输出int?

2022-01-09 00:00:00 binary type-conversion c++
int x = 5;
cout<<(char)x;

上面的代码以原始二进制形式输出一个 int x,但只有 1 个字节.我需要它做的是将 x 输出为 4 字节的二进制文件,因为在我的代码中,x 可以在 0 到 2^32-1 之间的任何位置,因为

the code above outputs an int x in raw binary, but only 1 byte. what I need it to do is output the x as 4-bytes in binary, because in my code, x can be anywhere between 0 and 2^32-1, since

cout<<(int)x;

不成功,我该怎么做?

推荐答案

可以使用std::ostream::write()成员函数:

std::cout.write(reinterpret_cast<const char*>(&x), sizeof x);

请注意,您通常希望对已以二进制模式打开的流执行此操作.

Note that you would usually want to do this with a stream that has been opened in binary mode.

相关文章