日期:2014-05-17  浏览次数:21132 次

float与字节数组的转换
请教各位,我刚解除C#,碰到一个有关float与byte转换的问题,当浮点是正数是,使用BitConverter.GetBytes(float)转换为byte数组是可以的,但是当float时负数时,转换的结果与正数转换的结果是一致的,发现时因为byte是无符号字节,我查到有符号字节是sbyte,但是没查到相关float转换为sbyte数组的方法,请教大家该怎么处理,还有如果byte[]是无符号的,那么串口通讯中发过来的数据是有符号的,就不能用byte[]接收,该怎么办,请大家帮忙,谢谢!
float?字节数组?转换

------解决方案--------------------
你的测试代码怎么写的,看下下面的测试方法:

float f = 100;
var a = BitConverter.GetBytes(f);
var b = BitConverter.GetBytes(-f);

for(int i=0; i<a.Length; i++)
{
if (a[i] != b[i])
Console.WriteLine("第{0}字节不同", i);
}

哪个负数转出来和正数一样的?