小数在计算机中的存储方式

本文详细解析了计算机如何通过定点数和浮点数来存储小数,包括科学计数法的应用、32/64位浮点数的IEEE754存储结构,以及存储范围实例。理解这些有助于开发者掌握数值运算在不同类型的数值表示中的处理。

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

0. 小数在计算机中的存储

两种方法:

  • 定点
  • 浮点

1. 定点数

顾名思义,小数点的位置固定的。

也就是说,用固定数量bit存储整数部分,也用固定数量bit存储小数部分,另外再用一个bit存储符号位。

计算时,将三个部分拼接起来,加个小数点即可。

优点:小数点位置固定,方便计算。
缺点:表示输的范围受限。

2. 浮点数

浮点数在计算机中的存储依赖科学计数法。

2.1 科学计数法

十进制中,3145使用科学计数法可以表示成 3.145 * 103
科学计数法一般的表达形式:M * baseE,其中 M 暂且称他为尾数,必须要 >= 1 且 < basebase是进制,10进制就是10,2进制就是2;E是指数。

任意一个二进制浮点数可以表示成: V = (-1)s x M x 2E

2.2 浮点数的存储

综上,若想在计算机中存储一个浮点数,需要保存如下三个数值:

  • 符号位 s,0 或者 1 。
  • 尾数 M ,因为基数M前边说过,必须 >= 1,所以,这个数字1就可以不存了,直接存储后边的小数部分。
  • 指数E

IEEE 754中规定,32bit的浮点数中(64bit同理),最高 1 bit是符号位,紧接着的 8 bit 存储指数 E,最后的 23 个bit存储尾数 M。

此外,还有一些特殊规定:

在这里插入图片描述

2.3 浮点数存储及范围的例子

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值