今天看啥  ›  专栏  ›  码农翻身

笨蛋!连0.2这么简单的数字都搞不定!你被炒了!

码农翻身  · 公众号  · 程序员  · 2020-02-17 09:33
后记:计算机的本质决定了它是一个二进制的世界,人类熟悉的十进制数字需要转行成二进制才能被计算机处理。但是这个转化的过程却会遇到问题。从漫画中可以看出十进制整数都能精确地转化为二进制表示,但是十进制小数却并不一定。你可以用你熟悉的编程语言如Java、Python, JavaScript快速地重现这一现象。对于工程计算和科学计算,一个非常近似的二进制小数是可以满足要求的,但是在商业计算尤其是金融领域,必须要精确地表示,精确地计算,这个时候就不能直接使用float,double等类型了,需要用一个工具类如BigDecimal来进行处理。值得注意的是,国际上对浮点数的存储制定了规范,即IEEE 754, 这个存储格式略为复杂,但其不能精确表示十进制小数的本质是不 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照