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

开发 前端
计算机的本质决定了它是一个二进制的世界,人类熟悉的十进制数字需要转行成二进制才能被计算机处理。但是这个转化的过程却会遇到问题。从漫画中可以看出十进制整数都能精确地转化为二进制表示,但是十进制小数却并不一定。你可以用你熟悉的编程语言如Java、Python, JavaScript快速地重现这一现象。



 



 



 



 



 



 



 



后记:

计算机的本质决定了它是一个二进制的世界,人类熟悉的十进制数字需要转行成二进制才能被计算机处理。但是这个转化的过程却会遇到问题。从漫画中可以看出十进制整数都能精确地转化为二进制表示,但是十进制小数却并不一定。你可以用你熟悉的编程语言如Java、Python, JavaScript快速地重现这一现象。

对于工程计算和科学计算,一个非常近似的二进制小数是可以满足要求的,但是在商业计算尤其是金融领域,必须要精确地表示,精确地计算,这个时候就不能直接使用float,double等类型了,需要用一个工具类如BigDecimal来进行处理。

值得注意的是,国际上对浮点数的存储制定了规范,即IEEE 754, 这个存储格式略为复杂,但其不能精确表示十进制小数的本质是不变的。

如需转载,请通过作者微信公众号coderising获取授权。

责任编辑:武晓燕 来源: 码农翻身
相关推荐

2021-01-13 11:48:18

数据分析供应链管理主管

2023-01-06 07:37:08

JavaScript技巧t性能

2016-11-15 15:38:59

2019-10-21 08:16:17

边缘计算数据安全网络安全

2021-05-27 05:27:22

流程控制Rust

2021-11-10 15:32:03

无人驾驶智慧道路技术

2019-02-26 08:46:56

谷歌图谱员工

2021-01-19 15:12:16

AI

2016-03-01 13:41:56

容器Docker

2020-09-24 06:44:54

HTTPS网站 HTTP

2017-12-19 09:53:06

2018-10-09 12:41:10

正则表达式NLP字符串

2019-04-09 09:22:32

Redis内存缓存

2022-11-02 19:08:48

微服务轮询消费者

2022-11-26 17:54:05

2019-03-22 10:29:15

ELKRedis转换

2021-08-13 07:02:40

监视浏览器手机

2020-09-15 06:13:05

Vue.jsJavaScript框架

2021-04-10 07:04:00

WPS技巧办公软件

2009-06-04 13:29:36

面试主考官工作经验
点赞
收藏

51CTO技术栈公众号