我有哪些字节序?

时间:2011-03-09 13:01:11

标签: endianness

在手册中,他们写了FF8055AAh。 在程序中我找到值AA5580FF。 这不是小事或大端事。但它是什么?

4 个答案:

答案 0 :(得分:3)

它是little-endian(假设手册中的值是big-engian)。字节为{FF,80,55,AA},因此当您反转它们时,您有{AA,55,80,FF}。

答案 1 :(得分:1)

如果您的处理器是面向字节的(大多数现代处理器都是如此),它可能是小端或大端的。请注意,一个字节是两个十六进制数字。

答案 2 :(得分:0)

您可以按照以下方式使用小程序检查您的字节顺序:

http://c-faq.com/misc/endiantest.html

根据您发布的内容,您的字节顺序与手册相反。字节顺序交换令人困惑,但每个字都存储在大端或小端,导致交换为

从AABB CCDD到DDCC BBAA(16位字)。

答案 3 :(得分:0)

我从你的previous question收集你想要将这些十六进制值转换为单精度表示。使用online hexadecimal-to-floating-point converter,这就是我得到的:

  • FF8055AA变为-NaN
  • AA5580FF变为-1.8962955e-13

所以,真正的问题是,这些数字中的哪一个看起来与您希望在数据文件中看到的一样?无论哪一个看起来都像你想要的那样,将数据文件视为具有字节序,以便在加载和转换它时为其提供该值。