9999999999999999.0 – 9999999999999998.0
Hacker News 上的昨日热帖,求 9999999999999999.0 – 9999999999999998.0,哪种编程语言的浮点计算能给出正确答案?
Hacker News 上的昨日热帖,求 9999999999999999.0 – 9999999999999998.0,哪种编程语言的浮点计算能给出正确答案?
| Ruby: | irb(main):001:0> 9999999999999999.0 – 9999999999999998.0 2.0 |
|---|---|
| Java: | public class Foo{public static void main(String args[]){System.out.println(9999999999999999.0-9999999999999998.0);}} 2.0 |
| Python: | >>> 9999999999999999.0 – 9999999999999998.0 2.0 |
| Rebol: | >> 9999999999999999.0 – 9999999999999998.0 == 2.0 |
| Haskell: | Prelude> 9999999999999999.0 – 9999999999999998.0 2.0 |
| TCL: | % expr “9999999999999999.0-9999999999999998.0” 0.0 |
| Emacs Lisp: | ELISP> (- 9999999999999999.0 9999999999999998.0) 2.0 |
| Common–Lisp: | [1]> (- 9999999999999999.0 9999999999999998.0) 0.0 |
| Maxima: | (%i1) 9999999999999999.0-9999999999999998.0; (%o1) 2.0 |
| Google: | 0 |
| K/Q: | q)9999999999999999.0-9999999999999998.0 2f |
| R: | > 9999999999999999.0-9999999999999998.0 [1] 2 |
| Erlang: | 1> 9999999999999999.0-9999999999999998.0 . 2.0 |
| C: | main(){printf(“%lf\n”,(double)9999999999999999.0-9999999999999998.0);} 2.000000 |
| AWK: | $ awk ‘END{print 9999999999999999.0-9999999999999998.0}'</dev/null 2 |
| GoLang: | var a = 9999999999999999.0; var b = 9999999999999998.0; fmt.Printf(“%f\n”, a-b) 2.000000 |
| Perl: | $ perl -e ‘print 9999999999999999.0-9999999999999998.0;print “\n”;’ 2.0 |
| Perl6: | $ perl6 -e ‘print 9999999999999999.0-9999999999999998.0;print “\n”;’ 1 |
| Wolfram: | 1 |
| soup: | 9999999999999999.0-9999999999999998.0 1 |
最后看看 ChatGPT 的回答:

来源:https://geocar.sdf1.org/numbers.html
本文由 TecHug 分享,英文原文及文中图片来自 OSC开源社区。
你也许感兴趣的:
- C语言闭包的代价
- 对《Ruby 不是一门严肃的编程语言》的回应
- 为什么美国F-35战斗机禁止90%的C++特性
- Perl的衰落是文化层面的,不是技术
- 关于Go、Rust与Zig的思考
- Zig语言异步程序的新方案
- Python并非数据科学领域的理想语言(第二部分):语言特性
- Python并非数据科学领域的理想语言(第一部分):亲身经历
- 编程语言 Rust 的几个核心问题
- Rust并非系统编程的未来——它只是炒作周期

你对本文的反应是: