定点整数,定点小数,浮点数

定/浮点数的表示是为了解决小数点问题,而定点数的编码则是为了解决正负号的问题。今天来记录一下定点和浮点数的表示。

 

定点小数用来表示浮点数的尾数,定点整数用来表示浮点数的阶,即指数,

需要注意的是,定点小数用原码来表示,定点整数用移码来表示,(带符号整数是用补码来表示的,原因在另一文章中有记录。)

我们从浮点数开始说起:

此图为截取慕课网文档素材,32位的浮点数编码表示,第0位数为数符,即符号位,第1~8位是8位移码,用来表示阶码,而剩下的9~31位为24位二进制原码小数表示的尾数,由于规格化尾数的小数点后的第一位总是1,所以可以用23个数位表示24位尾数。

 

可以通过计算来算出其在正数的范围,最大正数即为0.111...1*2^(11111111)=(1-2^(-24))*2^127,而最小正数则为0.1000...0*2^(00000000)=1/2 *2^(-128),同时,由于原码是对称的,故其表示范围也关于原点对称。

其中,浮点数的规格化表示为+/-1.xxxxxxxxxxxxxx*r^e,IEEE 754标准规定,小数点前总是1,而阶码的全0和全1用来表示特殊值,则规格化阶码的范围为00000001~11111110,而偏移量为127(single)和1023(double),故其范围为(-126~127)

 

这就是目前我所了解到的浮点数的编码表示。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值