浮点数在计算中的存储
在前面一篇文章中,说到了怎么将数字转换成二进制。
以下的内容会用到,把链接帖在这里:点击打开链接
一 浮点数在计算机中的表示,
浮点数一般分为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