我正在尝试将字节写入二进制文件中,我编写了这个小测试程序,以检查我是否正确执行。
std::uint8_t F = 10111001;
std::ofstream K("C:/Users/WDR/Desktop/kml.enc", std::ios::binary);
for(int i = 0; i < 256; i++)
{
K << F;
}
正确写入文件。我得到一个256字节的文件。但是,当我在Hex Editor中看到它时,每个字节显示值00011001
。难道我做错了什么?或者在十六进制编辑器中看到的字节表示方式不同?请澄清。谢谢。
答案 0 :(得分:0)
10111001
不是二进制数。它是十进制数。将此号码分配给uint8_t
会为您提供10111001 % 256
,其中包含25
或11001
二进制文件。
你想写std::uint8_t F = 0xB9;