详解浮点数在计算机中的存储方式

发布时间:2024-12-07 12:12

云计算在金融机构的数据存储和处理中发挥作用 #生活知识# #生活感悟# #科技生活变迁# #金融科技#

详解浮点数在计算机中的存储方式

巴啦啦魔仙变!! 已于 2024-08-26 18:36:09 修改

于 2021-07-02 23:24:15 首次发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

详解浮点数在计算机中的存储方式 存储方式(以单精度为例)存储原理1、符号位2、指数位3、尾数位 附1,十进制浮点数转二进制附2,二进制浮点数转十进制

存储方式(以单精度为例)

存储原理

先解释存储原理,更容易理解后面的内容。

例 4.25 这个浮点数
先将其转换为二进制,即 100.01
然后再用二进制科学计算法表示,转换过程为:100.01 -> 1.0001 ^ 2 -> >1.0001 ^ 10
最终,十进制4.25的二进制为 1.0001^10。
那么,其中的 1.0001 是尾数,存放在尾数位
10 为 指数,存放在指数位
符号为0(代表正数)。存放在符号位

大概原理就是这样,具体下面有一些细节补充

float 为单精度,共有32位。按照作用,分为三部分:1、符号位;2、指数位;3、尾数位。
位数的作用

1、符号位

表示整个浮点数的正负

2、指数位

存放浮点数的指数部分(二进制科学记数法的指数,不是十进制科学记数法的指数)。指数也有正负,使用移位存储来表示正负。

3、尾数位

存放浮点数的尾数部分。因为二进制科学记数法的尾数都是以1开头,因此尾数开头的1省去不记。即 23 位的尾数位可存储 24 位尾数。

附1,十进制浮点数转二进制

将整数部分和小数部分 分开转为二进制。最后合到一起。

例如 4.6 -> 100.1001 1001……
整数: 4 -> 100,
小数:0.6 -> 1001 1001 ……

具体转换过程,每次将小数部分* 2 ,取结果的整数部分为第一位,然后小数部分再*2,取结果的整数部分为第二位,依次类推,直到最终结果为1.

0.6 * 2 = 1.2 ,取 1
0.2 * 2 = 0.4 ,取 0
0.4 * 2 = 0.8 ,取 0
0.8 * 2 = 1.6 ,取 1
0.6 * 2 = 1.2 ,取 1

会发现这里无限循环了。即0.6的二进制为1001 1001 …(无限循环),但是计算机存储浮点数的位数是有限的。所以浮点数 会出现精度丢失的问题。

练习: 8.5 转化为二进制。

附2,二进制浮点数转十进制

反过来就是了。比如将0.6的近视值二进制1001 1001转换为十进制,将浮点数的第一位 乘以 2^ -1 (即1/2,0.5), 第二位 乘以 2 ^ -2(即1/4,0.25) , 第三位 乘以 2 ^ -3 (即1/8,0.125)……。然后全部相加,计算总值。即
在这里插入图片描述
和 = 0.597656 (少了的部分为精度丢失)

网址:详解浮点数在计算机中的存储方式 https://www.yuejiaxmz.com/news/view/406212

相关内容

日常生活中怎样利用计算机的,数据存储与管理在日常生活中的三种方式
计算机二进制表示和存储各种数据
计算机组成原理中位bit、字节B/byte、字、字长、存储单元、存储字长、存储容量
个人存储解决方案
浮点数加减法的运算步骤
计算机百科丨存储介质发展史
Android 五大数据存储 (最实用的开发详解) 一 五种存储方式区别
计算机在日常生活中中的应用,计算机在日常生工作中的应用
除湿量的计算公式详解
节能存储在数据中心中的应用.docx

随便看看