一个浮点数由三部分组成:符号位S、指数部分E(阶码)以及尾数部分M(如下)。 符号位S:正数为0,负数为1 Floating S--------E-------M 1位-----8位-----23位 Double S--------E-------M 1位-----11位----52位 十进制数的换算计算公式为(n^m表示n的m次幂,B表示前面的数字是二进制): S * 2^(E-127) * (1.M)B E 对于单精度是127,双精度是1023
以13.25为例,转为二进制数等于1101.01,换算为1.10101×2^3 float S=0 E =(3+127)= 130=1000 0010 M=1010 1000 0000 0000 0000 000 结果为0100 0001 0101 0100 0000 0000 0000 0000 一个验证工具 IEEE-754 Floating Point Converter double S=0 E =(3+1023)= 1026=100 0000 0010 M=1010 1000 0000 0000 0000 0000... 结果为0100 0000 0010 1010 1000 0000 0000 0000 0000... 一个验证工具浮点数-Float-Double转二进制 - ToolTT在线工具箱