我有一个字符串类型的 4 字节十六进制代码,我需要将其转换为浮点数,符合 IEEE 754 Single-Precision floating-point format。
我认为 Java 有一个库可以轻松做到这一点,但我不确定 C# 是否有一个。解决这个问题的最佳方法是什么?
我有一个字符串类型的 4 字节十六进制代码,我需要将其转换为浮点数,符合 IEEE 754 Single-Precision floating-point format。
我认为 Java 有一个库可以轻松做到这一点,但我不确定 C# 是否有一个。解决这个问题的最佳方法是什么?
因为听起来你是从一个十六进制字符串开始的:
string hex = "0a0b0c0d";
byte[] raw = new byte[hex.Length / 2];
for (int i = 0; i < raw.Length; i++)
{
// THEN DEPENDING ON ENDIANNESS
raw[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
// OR
raw[raw.Length - i - 1] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
float f = BitConverter.ToSingle(raw, 0);
如果您实际上是从 a 开始byte[]
,那么您可以跳过前几个步骤。