我知道如何将十六进制<->十进制转换255
为0xFF
=255
然而,十六进制1040
是0x410
我不知道如何做到这一点,请用图形表示解释我是视觉人,不擅长文字和数学。
这个例子来自网上试图解释它,1457 / 16 = 91.0625 91 / 16 = 5.6875 5 / 16 = 0
我几乎明白这一点,但是他们在哪里得到 91 / 16 = 5.6875 的余数 11 呢?
编辑:得到余数是 5 * 16 = 80 然后 91 - 80 = 11,他们应该提到这一点,但是我去的单个网站没有提到这一点。
二进制文件中的主要问题是我得到 2 个字节的十六进制读取数据10 04
,并且以某种方式也转换为1040
十进制(int8 或 int32),这是如何工作的?
它与 0x410 相同,但采用小端字节顺序,即向后。
通常文件格式的规范中会提到其整数字段是以big-endian还是little-endian存储的。(或者有时是两者的混合......)如果未指定,那么如果文件格式来自 PC,那么 LE 可能是更可能的选择,因为这就是 x86 CPU(即典型的 PC)在内存中存储多字节值的方式。