2013-02-28 82 views
3

身份剛剛發現Ĵ語言,我輸入:歐拉以J

1+^o.*0j1 

I expected the answer to be 0,但我得到0j1.22465e_16。雖然這與0非常接近,但我想知道爲什麼答案中存在數字錯誤,而J應該能夠執行任意的精確算術?我怎麼才能得到正確的答案0

回答

4

任意精度爲integers and rationals

constantsπ1p1)和È1x1)仍浮點數具有約17顯著十進制數字精度。

生成0的唯一方法是如果您的代碼「知道」該案例。對於這種情況,組成^@o.special code

^@o. 0j1 
_1