计算机中小数的存储

我们在最初学习C语言的时候,学习数据类型的时候接触到了浮点数,知道了它被用来存储小数,但是为什么在计算机中小数要称为浮点数呢?

在C语言中文网上,我知道了数据的存储分为定点数和浮点数,它们的命名方式也取决于它们存储数据的方式

C语言小数存储的方法有两种:定点数和浮点数

定点数

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

        下图以32bit机器为例,表示124.25

        第一位数据为符号位,其余为数据位;数据位又被划分为整数部分和小数部分

        使用定点数表示小数,小数点的位置固定

        定点数的优缺点:

        定点数的优点就是可以精确表示想要表示的数值,不会像浮点数一样计算机内部无法精确的表示一些数值

        定点数的缺点就是不适用于表示特别大或者特别小的数值

浮点数

        和定点数不同的是,浮点数表示小数时,小数点的位置是浮动的、不固定的

 

        浮点数的存储格式,一般按照IEEE 754标准,表示方法如下:

        最高的 1 位是符号位 s,接着的 8 位是指数E,剩下的 23 位为有效数字 M

        浮点数的表示类似于科学计数法

十进制二进制浮点表示
51011.01 x 2^2
910011.001 x 2^3
100011001001.100100 x 2^6
0.1250.0011 x 2^-3

                数值范围不受限制,表示格式也不受限制,因此它能够表示比整数更大的数据;但是它的运算速度比整数运算低,且容易丢失精度

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值