SICP中描述的Scheme程序inexact->exact
如何运作?
答案 0 :(得分:6)
Scheme标准仅对如何记录准确性/不精确性给出一些一般约束,但大多数Scheme实现,直到标准R5RS,如下操作(MIT Scheme,这是SICP的“母语”,也是这样工作的):
有些观点:首先,不同的方案标准在运营商是否准确时有所不同;标准不足以确定发生了什么。例如,若干Scheme实现具有精确有理数的表示,允许精确表示(/ 1 3)
,其中仅具有浮点数的Scheme实现必须表示不完整。
其次,R6RS与SICP和早期标准有不同的传染概念,因为旧的标准坦率地被打破了。
答案 1 :(得分:0)
精确度只是数字的一个属性:它不会改变数字本身的值。因此,对于使用标志来表示准确性的实现,inexact->exact
只是在该数字上设置精确度标志。