如何在Racket中表示无穷大?

时间:2018-05-14 17:21:34

标签: scheme racket infinity

我正在编写一个程序,需要在我的代码中表示正无穷大。在Racket中有类似INTEGER_MAX的东西吗?

2 个答案:

答案 0 :(得分:2)

#lang racket和Racket系列语言中的其他语言中,您有浮点支持,因此您有两个无穷大:

+inf.0
-inf.0

对于Racket提供的标准Scheme报告语言实现也​​是如此,例如#!r5rs#!r6rs

至于Scheme标准,只需要R6RS来支持完整的数字塔。最新的R7RS-small report (pdf, page 35)州:

  

写入正无穷大,负无穷大和NaN的数字   分别为+inf.0-inf.0+nan.0。 NaN也可能是   写-nan.0。在书面陈述中使用标志的确如此   如果有的话,不一定反映NaN值的基本符号。   不需要实现来支持这些数字,但是如果   他们这样做,他们必须符合IEEE 754的要求。   但是,不需要实施支持信号NaN,   也没有提供区分不同NaN的方法。

因此,立场与R5RS相同。较大的R7RS可能还需要一个完整的数字塔,因为它似乎已经引起争议。

答案 1 :(得分:1)

+inf.0似乎适用于我的目的。