有人可以向我解释十六进制偏移吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (120)

我下载了Hex Workshop,并被告知要读取.dbc文件。

如果读取偏移量0x04和0x05,它应该包含28,315

我不确定如何做到这一点?0x04是什么意思?

提问于
用户回答回答于

0x04是4进制的十六进制数(0x就是基数为16的数字表示的通用前缀约定 - 因为很多人都认为是十进制数),这将是第四个字节(因为他们说的是偏移量,他们可能会把第一个字节计为字节0,所以偏移量0x04将是第5个字节)。

我想他们是说第四和第五个字节一起是28315,但他们是否说这是小端还是大端?

28315(十进制)是十六进制符号的0x6E9B,如果是小尾数,可能在文件中的顺序是0x9B 0x6E。

注意:小端和大端指的是写入顺序字节。人类通常以大端方式写十进制符号和十六进制,所以:

256会写为0x0100(左边的数字是最大的数字)

但是这需要两个字节,little-endian系统会先写低字节:0x00 0x01。大端系统将首先写入高位字节:0x01 0x00。

通常英特尔系统是小端系统,其他系统也不尽相同。

用户回答回答于

这是第4次和第5次XX代码您的查看...

1   2  3  4  5  6
01 AB 11 7B FF 5A

所以,0x04和0x05是“7B”和“FF”。

假设你在说什么,在你的情况下7BFF应该等于你想要的值。

扫码关注云+社区