正如任何中学数学学生都可以证明的那样,pi 是非理性的。
但是:
Welcome to Racket v5.3.6.
> pi
3.141592653589793
> (rational? pi)
#t
这是因为pi 在底层机器的浮点格式中的表示精度有限,因此总是可以表示为一些 p/q,其中 q 是 10^n,n 是表示精度?
如果是这样,Racket(或其他类似行为的方案)抛出的任何数字怎么可能被认为是理性的呢?因此,为什么要打扰这个rational?
功能呢?
更新:甚至(rational? (sqrt 3))
报告#t