在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
如本文所述http://en.wikipedia.org/wiki/Signed_zero
浮点运算的IEEE 754标准(目前大多数支持浮点数的计算机和编程语言都使用)需要+0和−0
你发现的是负零点。