浮点数在计算中的存储

在前面一篇文章中,说到了怎么将数字转换成二进制。

以下的内容会用到,把链接帖在这里:点击打开链接


一 浮点数在计算机中的表示,

浮点数一般分为32位和64位,对照方下:

 类型        符号位     阶码      尾数     长度
float           1          8        23      32
double          1         11        52      64


以下以32位为例:

F = (S)*M*2^E
S:符号,1位,0-整,1-负
M:尾数。23位,整数部分固定为1,不读进内存
E:阶码。8位,偏移127

# 0是特定值。E,M都为0

终于格式例如以下:SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM

比如,前一篇文章用到的样例,求出的22.8125的二进制形式为:10110.1101 = 1.01101101 * 2^4,因此。

S=0

M= 0110110 10000000 00000000

E=00000400

 所以22.8125在计算机中的表示形式就为:00000040 00110110 10000000 00000000

原文地址:https://www.cnblogs.com/lytwajue/p/7217057.html