永发信息网

请问浮点型数据在计算机是怎么存储的

答案:2  悬赏:0  手机版
解决时间 2021-02-10 02:36
请问浮点型数据在计算机是怎么存储的
最佳答案
计算机用二进制来表示数字,浮点数也是如此:
首先了解如何用二进制表示小数(也就是如何把十进制小数转化为二进制表示):
举一个简单例子,十进制小数 10.625
1)首先转换整数部分:10 = 1010b
2)小数部分0.625 = 0.101b
(用“乘2取整法”:0.625*2=1.25,得第一位为1,0.25*2=0.5,得第二位为0,0.5*2=1, 得第三位为1,余下小数部分为零,就可以结束了)
3)于是得到 10.625=1010.101b
换个表示方式更加深入理解:
1*(10^1)+0*(10^0)+6*(10^-1)+2*(10^-2)+5*(10^-3) =
1*(2^3) + 0*(2^2) + 1*(2^1) + 0*(2^0) + 1*(2^-1) + 0*(2^-2) + 1*(2^-3)
4) 类似十进制可以用指数形式表示:
10.625=10625*(10^-3)
所得的二进制小数也可以这样指数形式表述:
1010.101b=1010101 * (2^-3)
也就是用有效数字a和指数e来表述: a * (2^e)
用一个32bit的空间(bit0~bit31)来存储这么一个浮点数,如此分配存储空间:
bit0 ~ bit22 共23bit,用来表示有效数字部分,也就是a,本例中a=1010101
bit23 - bit30 共8个bit,用来表是指数,也就是e,范围从-128到127,实际数据中的指数是原始指数加上127得到的,如果超过了127,则从-128开始计,所以这里e=-3表示为124
bit31 为符号位,1表示负数,这里应该为0
把上述结果填入32bit的存储器,就是计算机表示小数10.625的形式。

注意这个例子的特殊性:它的小数部分正好可以用有限长度的2进制小数表示,因此,而且整个有效数字部分a的总长度小于23,因此它精确的表示了10.625,但是有的情况下,有效数字部分的长度可能超过23,甚至是无限多的,那时候就只好把后面的位数截掉了,那样表示的结果就只是一个近似值而非精确值;显然,存储长度越长,精度就越高,比如双精度浮点数长度为64位,1位符号位,11位指数位,52位有效数字。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想让前男朋友知道我有男朋友了,发什么说说
MydoctorsaidIshould?vary?mydietmore.A.chan
求重生洪荒练武的小说,武功对修仙或重生到别
东瑞桌球馆地址在什么地方,我要处理点事
100-400 佳能二代400端自动对焦不响应
英语书信作文,120字左右
荣立桌球俱乐部地址在什么地方,我要处理点事
下列关于固定资产折旧所得税处理的表述中,正
电脑在家里用突然非常卡(不带网络),文件根
大发桌球城地址在哪,我要去那里办事
已知7度区普通砖砌体房屋的最大高度限制为21m
中山哪里有卖高加索小狗 中山哪里有正规狗场
把右边的长方形以6厘米长的边为轴旋转一周,
东新台球厅地址好找么,我有些事要过去
在胡一菲的空间,背景音乐叫“一菲最爱”的本
推荐资讯
听说刚上市的VERTU纬图新机型是手工装配的?
社保记录办居住证,有人办过吗,求教流程
Who are you?的句子成分
已知点A(-8,5),B(-3,-2),求向量AB的坐标?
在VB 中,请求对象执行某一操作的要求称为什
沂山镇公共行政审批服务中心地址在什么地方,
各位读过高技的朋友,觉得有用吗?
第一次和女友见面,怎样给她惊喜,或者送礼物
帝王鱼养多了欺负别的鱼吗
自贡顺驰汽车贸易有限公司地址在什么地方,我
判刑拘三个月会上征信吗?
复姓第五的名人
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?