固定IP地址10.14.170.108在端口4096以ascii方式接收数据,接收到十六进制数据:3FA3E97A,为浮点数,请问如何将它转换为正确的数据?直接将它转换为十进制不对,应该有小数。

解决方案 »

  1.   

    3F A3 E9 7A 占四个字节,如果要表示浮点数,那么就是单精度类型--Single。
    参考如下代码:
    int i = 0x3FA3E97A;
    byte[] buffer = BitConverter.GetBytes(i);
    Single s = BitConverter.ToSingle(buffer, 0);
    Console.WriteLine(s); // 1.280563
      

  2.   

    当然也可以按字节处理:
    byte[] buffer = { 0x7A, 0xE9, 0xA3, 0x3F };
    Single s = BitConverter.ToSingle(buffer, 0);
    Console.WriteLine(s); // 1.280563