首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

后记:

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

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

值得注意的是,国际上对浮点数的存储制定了规范,即IEEE 754, 这个存储格式略为复杂,但其不能精确表示十进制小数的本质是不变的。想要了解存储细节的同学可以参考这篇文章《看完这篇文章,你一定理解什么是浮点数了!》

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200217A05YIZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券