Tcl8.4 expr浮点始终返回不正确的结果

时间:2015-12-18 23:30:37

标签: tcl

我是这个论坛的新手,感谢您的帮助!

最近,我遇到了tclsh脚本(v.8.4)的问题,当我输入" expr 1.0"时,我得到了" 2.6996291800504495e-231"。试着看看我可能错过了什么。这是由于编译问题还是我可能没有正确链接的其他问题?

1 个答案:

答案 0 :(得分:0)

使用Tcl 8.4,与目前支持的版本一样,我原本希望expr 1.0给出1.0作为结果。你所描述的这么微小的数字更可能来自一些相互减去两个几乎相等数字的操作。这些值有时会出现在浮点运算中,主要是因为有限精度数学总是具有不易表示的值。

但是,当你要求expr 1.0时,为什么要制作它?这完全是个谜。是否覆盖了expr命令?这是~/.tclshrc中的内容吗?相比之下,在我的一个系统中,我确信它没有做任何太奇怪的事情:

bash$ tclsh8.4
% expr 1.0 
1.0
% info patchlevel
8.4.19