Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
刚发现 J 语言,我输入:
1+^o.*0j1
我期望答案是0,但我得到了0j1.22465e_16。虽然这非常接近于 0,但我想知道为什么答案中有数字错误,而 J 应该能够执行任意精度算术?我怎样才能得到正确的答案0?
0
0j1.22465e_16
任意精度适用于整数和有理数。
常数 π ( 1p1) 和e ( 1x1) 仍然是浮点数,精度约为 17 位有效十进制数字。
1p1
1x1
准确产生 0 的唯一方法是您的代码“知道”这种情况。组合^@o.是这种情况下的特殊代码。
^@o.
^@o. 0j1 _1