操作系统之浮点数表示

序言

声明,此篇文章针对南京大学的线上课程https://www.coursera.org/lear...,以便回顾。

  • 科学计数法
    图片描述

上图描述中是我们日常十进制数字的科学表示法。计算机中的浮点数表示也是基于科学表示的思想来设计的。


  • 浮点数表示
    图片描述

同样浮点数表示法也有规定的格式表示,小数点前只有一个有效位。这是规格化的浮点数表示。只要对尾数和指数进行编码,就可以在计算机中表示一个浮点数,也就是实数。

  • 浮点数的表示范围

    图片描述

假如是32位操作系统中,表示一个浮点数的范围如上图,第0位S为符号位,表示浮点数的正负。第1到8位进行移码后的机器码表示指数(阶码)。第9到31位是来表示尾数部分的机器码。因为规格化后的尾数部分小数点前总是1,所以规定第一位默认的1不表示出来,这样就可以腾出来一个数位来表示更多的实数。(23位长度可以表示24位长度的机器码)

  • IEEE754标准

IEEE754中定制了单精度的标准:
图片描述
用1位来表示正负符号,8位表示阶,23位表示尾数。阶码范围可以表示为 0000 0000~1111 1111,但是为了考虑阶也可能存在负值,所以规定阶的真值加上偏置常数后的机器码才是机器存入的值。而偏置常数规定单精度为2^(8-1) - 1,双精度为2^(10-1) -1。又因为全0和全1有特殊的用途,所以规格化后的阶码表示范围为0000 0001(真值-126) ~ 1111 1110(真值127)。
1、0的机器码表示,在IEEE754标准中,全0指数和全0尾数可以表示0,而符号位如果是0的话就是+0 而符号位是1的话就是-0。
2、+/-无穷:浮点数除0结果是是正负无穷,而不是溢出异常。整数除0为异常。全1的阶码和全0的尾数表示正负无穷大。
3、非数:全0阶码和非0尾数。即非格式化数(小数点前是0,小数点后若干0)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值