浮点数在计算中的存储

Posted lytwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浮点数在计算中的存储相关的知识,希望对你有一定的参考价值。

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

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


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

浮点数一般分为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

以上是关于浮点数在计算中的存储的主要内容,如果未能解决你的问题,请参考以下文章

计算机中的定点数与浮点数 浮点数用 正负位 幕数 数字部分来表示

float_浮点数存储结构

浮点数在计算机中的存储

浮点数的比较

详解c语言整形和浮点数在内存中的存储

C++浮点数误差是啥