浮点数的笔记

本文详细介绍了浮点数的表示方式,包括符号位、尾数和指数部分的解析。探讨了最大正数和最小正数的浮点表示,以及最小数值(绝对值最大的负数)的计算方法,深入理解浮点数的存储与运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(-1)^S*M*2^E

(-1)^S表示符号位

M:去掉小数点前面的1存在内存中去

E:加一个数存在内存中去

 对于M第一位进行抛弃,因为所以M的第一位都是1,当我们把第一位1抛弃后我们可以存的更多,精度更大

E无符号,但是实际中,我们的E又会出现负数,这时e=E+127 

 

当浮点数为最大正数
要取最大值,阶码部分:小数点需要向右移动(es=0),同时e要尽量大,也就是e的各位全为1。尾数部分:要正数(ms=0),同时尾数也要尽量大,也就是m的各位都取1。
X 最 大 正 数 = ( 1 − 2 − n ) × 2 2 k − 1 X_{最大正数}= (1-2^{- n})×2^{2^k-1}

最大正数

 =(1−2 
−n
 )×2 

k
 −1
 

这时候,我们的阶码E=2k-1,因为e是k个1(二进制),转成十进制数就是2k-1(补充:k位二进制数能取到的最大值就是2k-1),这里表示小数点向右移动2k-1位;
尾数M=1-2-n,因为m的全部k位都为1(二进制),转成十进制是1/2+1/4+1/8+…+1/2-n=1-2-n。
当浮点数为最小正数
阶码部分:小数点需要向左移动(es=1),同时e=0(别忘了现在是用补码表示阶码,让符号位为1,e=0,这样阶码部分就表示最小的负数),让小数点疯狂地向左移动。尾数部分:要正数(ms=0),同时m也要尽量小,于是令 m=0b1,m不能为0啊,这是要正数。
X 最 小 正 数 = 2 − n × 2 − 2 k X_{最小正数}= 2^{- n}×2^{-2^k}

最小正数

 =2 
−n
 ×2 
−2 
k
 
 

此时,我们的阶码E=-2k,因为此时阶码部分表示最小的负数,k+1位的有符号整数所能表示的最小负数,也即绝对值最大的负数就为-2k;
尾数M=2-n,因为m的n位中,只有最后一位,第n位为1,转成十进制是2-n。
当浮点数为最小的数(绝对值最大的负数)
阶码部分:小数点需要向右移动(es=0),同时e的各位全为1。尾数部分:要负数(ms=1),m=0b0,这样尾数部分就能取到它能取到的最大负数。
X 最 小 数 = − 1 × 2 2 k − 1 X_{最小数}= -1×2^{2^k-1}

最小数

 =−1×2 

k
 −1
 

阶码E=2k-1,理由同第1点,这是k位2进制数能取到的最大正数。
尾数M=-1,因为有符号小数所能取到的最大负数为-1。
————————————————
版权声明:本文为优快云博主「初学者202009」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_50536062/article/details/120333151

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值