请检查此代码
float f = BitConverter.ToSingle(new byte[] { 0xBF, 0x04, 0x8E, 0xFF }, 0);
byte[] b = BitConverter.GetBytes(f);
这会产生一个奇怪的结果。b 将是 { 0xBF, 0x04, 0xCE, 0xFF }
我猜这是因为 f 的值是 NaN。我问这个问题的原因是因为我使用 Marsal 将字节流转换为包含浮点数的结构,我交换字节序
问题是当我到达现场时已经搞砸了(就像上面的例子)
有任何想法吗?
谢谢!