gpt4 book ai didi

c++ - 二进制文件解释

转载 作者:太空宇宙 更新时间:2023-11-04 15:50:37 26 4
gpt4 key购买 nike

我正在读取一个二进制文件(在 C++ 中)。标题是这样的(以十六进制打印)

43 27 41 1A 00 00 00 00 23 00 00 00 00 00 00 00 04 63 68 72 31 FFFFFFB4 01 00 00 04 63 68 72 32 FFFFFFEE FFFFFFB7

打印时使用:

std::cout << hex << (int)mem[c];

有没有一种有效的方法可以在不使用 stringstream 的情况下将 9th 字节(?)的 23 存储为整数?或者 stringstream 是最好的方法吗?

有点像

int n= mem[8]

我想将 23 存储在 n 而不是 35 中。

最佳答案

您确实在 n 中存储了 23。您只能看到 35,因为您正在使用将其转换为十进制以供显示的例程输出它。如果您可以查看计算机内部的二进制数据,您会发现它实际上是一个十六进制数 23。

你会得到和你一样的结果:

 int n=0x23;

(你可能认为你想要的是不可能的。对于1En中应该存储什么数字?唯一对应的数字是31,这就是你得到的.)

关于c++ - 二进制文件解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com