Float32、Float32LE和Float32MLE之间有什么区别



我在使用Modbus协议的SCADA系统中工作。它为我提供了这些数据类型,我不知道它们之间有什么区别。谁能澄清一下吗?

Float32或有时Float32BE是使用big-endian的浮点值的默认表示。对于具有32位的浮点(通常使用IEEE 754标准进行编码(,我们需要4个字节,这导致以下内存布局:
Byte 1Byte 2Byte 3Byte 4ABCD(使用具有4个不同字符的更常见且可读的示例(。

Float32LE代表小端序,在以下内存布局中表示:
Byte 4Byte 3Byte 2Byte 1DCBA

Float32MLE代表中小端序,在以下内存布局中表示:
Byte 3Byte 4Byte 1Byte 2CDAB

要完成可能性列表,您还可以找到名为
Float32MBE的东西,它是中大端,并在以下内存布局中表示:
Byte 2Byte 1Byte 3Byte 4BACD

最新更新