如何解释一个双字节值?

时间:2018-01-04 01:53:28

标签: byte

我正在尝试读取先存储低位字节的2字节值。因此,如果2个字节是10和85的顺序(十进制),它们代表的数字是多少? 8510? 851?或者不同的东西?

这些值表示编码序列的长度,我需要知道正确处理其包含的信息的长度。大多数只使用第一个字节,作为十进制数,它准确地表示序列中的字符总数(或字节数)......但有些使用两个字节,我不明白如何解释它们。

如果有人可以提供帮助,我将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

你所指的是" endianness"两字节值(也称为WORD)。根据十进制值来讨论它们通常不被认为是有益的,因为如果字节是十进制的1085,则值不会是10/85的任何组合。相反,以十六进制值显示它们要谨慎得多。

+----+----+
|0x0a|0x55|
+----+----+

要将其解释为 Little Endian ,该值将为0x550a(十进制为21770)。在 Big Endian (最高位字节优先)中,值为0x0a552645十进制)。

因此,了解系统的字节顺序并正确处理这两者是非常重要的。值得注意的是,"网络字节顺序"是Big Endian。

enter image description here