日期:2014-05-18  浏览次数:20897 次

l6进制字符串转双精度
16进制4024051EB851EB85转换成双精度10.01是怎么转的,我怎么试都不行,这是labview里面的数据,和c简直对不上,那位大侠邦我看看,急 死了

------解决方案--------------------
C# code

string s = "4024051EB851EB85";
byte[] b = new byte[8];
for (int i = 0; i < b.Length; i++)
    b[8 - i - 1] = Convert.ToByte(s.Substring(i * 2, 2), 16);
Console.WriteLine(BitConverter.ToDouble(b, 0));
Console.ReadLine();

------解决方案--------------------
double转换成字节数组后,要从数组尾部开始将每个字节按照16进制转为string并连接,这个格式的高位和低位是倒置的。