在Compact Framework中使用BitConverter.GetBytes()的有趣观察

本文关键字:观察 GetBytes BitConverter Framework Compact | 更新日期: 2023-09-27 18:27:50

我正在尝试使用BitConverter.GetBytes(…)方法将浮点值转换为字节数组。我遇到了一个有趣的问题。考虑以下代码-

float f = 0.0;
byte[] bytes = BitConverter.GetBytes(f);
for (int j = 0; j < bytes.Length; j++)
{
     Trace.Write(bytes [j] + " ");
} 

上面的转换返回4个字节的数组,我正在控制台上打印。然而,我注意到,有时4个字节的输出是{0 0 0 128},而不是{0 00 0}。

有什么帮助吗?

谢谢,Omky

在Compact Framework中使用BitConverter.GetBytes()的有趣观察

如本文所述http://en.wikipedia.org/wiki/Signed_zero

浮点运算的IEEE 754标准(目前大多数支持浮点数的计算机和编程语言都使用)需要+0和−0

你发现的是负零点。