浮点数不是C#独有的概念,而是几乎现在所有计算机内部的表示。简单地说16进制数1个位代表二进制的4bit,8bit为一个字节,4个字节就是32位。通常是分成符号位、底数位、指数位组成,其中一个标准请看如下图片
上述第一个十六进制使用Windows自带的计算器可以转换为二进制1010000100101011110000111101,然后你再对应上述位的作用,就可以算出表示的浮点数。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
byte[] bytes = {0x0A, 0x12 , 0xBC , 0x3D};
float v = BitConverter.ToInt32(bytes, 0);
Console.WriteLine(v);
bytes = new byte[] { 0x12, 0xCA, 0x12, 0x01 };
float v1 = BitConverter.ToInt32(bytes, 0);
Console.WriteLine(v1);
}
}
}