浮点型-手写分析

351 阅读1分钟

浮点型分为 单精度双精度延伸单精度、**延伸双精度. **本章我主要讲单精度,这个懂了其他的都可以触类旁通。

02db465212d3c374a43c60fa2625cc1caeaab796.png

单精度 分配了4字节 一共 32 位

微信图片_20200412120701.jpg
** 按照上面的32位,能够组成的最大数字为

0111-1111-0111-1111-1111-1111-1111-1111

红色部分为符号位: 0 是 、 1 是 绿色部分位指数位:这里要注意,这里比较特殊,不能全是 0000-0000 1111-1111 全为0 会被认为是机器零,全是1 会被认为是无限大。所以是这个1111-1110,不用过分深究,这是一个规定。 黄色部分有效数字:这里没啥规定,可以全为 1

浮点型转小数

咱们算一算: 绿色部分

微信图片_20200412130559.jpg
这儿为什么要减去127,因为浮点型转这个二级制时都统一加了 127,为什么要统一加127,因为在比较大小的时候就不用去计算谁是正数谁是负数。谁的值大谁就大。


黄色部分

微信图片_20200412135226.jpg
微信图片_20200412135229.jpg
这个有效位数就是存储小数位。他是 23 位的, 但是其实转的时候 他前面还必须有个 1

最大值为: 

小数转浮点型

咱们转个 22.33  (我非常喜欢bilibili😊)

微信图片_20200412142416.jpg
Snipaste_2020-04-12_14-24-04.png
百度的只能计算到 十六位,我的和百度的结果是一样的
Snipaste_2020-04-12_14-27-21.png
**

转换成 浮点型二级制格式

微信图片_20200412181556.jpg

验算 转换是否成功

Snipaste_2020-04-12_18-28-36.png