如何用计算机表达无理数,浮点数在计算机中是如何表示的?

本文介绍了实数的概念,包括有理数和无理数,并详细阐述了定点数和浮点数在计算机中的表示方式。重点讨论了浮点数的表示,如二进制科学记数法,并通过一个例子解释了计算机如何存储浮点数。此外,还提到了浮点数精度问题,例如0.2和0.4在计算机中相加不等于0.6的情况,揭示了浮点运算的不精确性。
摘要由CSDN通过智能技术生成

1.什么是实数?

实数就是 有理数和无理数的总称。

1.1 有理数?

有理数 两个整数的分数表现形式 1/2, 3/8 。

1.2 无理数?

无理数 非有理数的实数,也称无限不循环小数 (也就是不能将之用两个整数的分数形式表示出来的数)。

2.定点数和浮点数 :

定点数和浮点数都用来表示实数,定点数就是小数点固定在某一个固定位置的数,也就是说位数要固定,小数点的位置也要固定(例如00.22,22.00),这种方式会带来很多局限性,比如不能方便表示很大或很小的数。

随着计算机的发展,计算机采用了用浮点数表示法来表示实数,浮点数就是小数点位置不固定的。例如,1.0;22.03;222.03,用这种方式表示数的话会有更多空间去表达一个实数,也大大提升了灵活性。

3.计算机是如何去表示浮点数的?

s 符号位

M  表示有效数字,大于1小于2.

2^E 表示指数位。

例子:十进制的9,转化成二进制:1001.0,用二进制的科学表示法表示:1.001 * 2^3,此时s=0,

M=1.001,2^E=2^3,E= 3;

在32为的处理机中,1位表示符号位,8位表示指数位,23位表示有效数字位。我们知道科学技术法中E存在负数的情况(10 ^ -3) 所以E必须拿出一半的表示值来表示负数。

E为8位,它的取值范围为0-255;所以这个中间值就是127,他相当于0的作用。

对于上个例子 E=3 ,E+中间值=3 + 127 = 130; 130的二进制表示:10000010。有效数字计算机擦去省略第一个1的策略来存储。001

所以该例子在计算机里的表示方式为:

0 | 10000010 | 0010000000000000000000

4.再看一个浮点精度问题。

double a = 0.2 + 0.4;

在数学中,上面那个表达式a的结果必然是0.6,但在计算机中则不然,因为0.2 和 0.4 计算机都不能精确表示,只有0.5能精确表示,所以计算机中这两个数相加必定不等于=0.6。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值