数学上的小数是个不严谨的概念,
除了小学用,到了中学就不用了。
一般是说,有理数,无理数,然后实数,这是常见数集。
浮点数的运算确实会有个精度问题,
但浮点数本身是精确的。
但是楼主的问题在这里暂时还不涉及浮点数运算的问题,
因为 0.1 + 0.2 既不会增加有效数字位数,也不会导致严重的进位。
他的问题,本质上是 0.1 这样的十进制字面量在计算机里面本来就无法精确表达,
他写出来的算式表达的只是人类的意志,计算机无法精确复原其含义,
只能取近似值,那么得出的结果也自然就不符合人类预期了。
【 在 seablue 的大作中提到: 】
: 标 题: Re: 大佬解释一下,为何0.1+0.2的结果比0.3大?
: 发信站: 水木社区 (Mon Nov 13 11:43:58 2023), 转信
:
: 我概念说错了。就是数学上的小数、实数。
:
:
:
https://baike.baidu.com/item/%E6%B5%AE%E7%82%B9%E6%95%B0%E6%A0%87%E5%87%86/22719915:
: 浮点数的舍入
: 任何有效数上的运算结果,通常都存放在较长的寄存器中,当结果被放回浮点格式时,必须将多出来的比特丢弃。 有多种方法可以用来运行舍入作业,实际上IEEE标准列出4种不同的方法:
: 舍入到最接近:舍入到最接近,在一样接近的情况下偶数优先(Ties To Even,这是默认的舍入方式):会将结果舍入为最接近且可以表示的值,但是当存在两个数一样接近的时候,则取其中的偶数(在二进制中式以0结尾的)。
: 朝+∞方向舍入:会将结果朝正无限大的方向舍入。
: 朝-∞方向舍入:会将结果朝负无限大的方向舍入。
: 朝0方向舍入:会将结果朝0的方向舍入。
:
:
: 【 在 flw 的大作中提到: 】
: : 浮点数为什么是无限的?
: : 浮点数当然是有限的呀。
: : 无限的是有理数。
: : ...................
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 221.216.197.*]
--
FROM 27.38.228.*