栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

●请你解释为什么会出现4.0-3.6=0.40000001这种现象?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

●请你解释为什么会出现4.0-3.6=0.40000001这种现象?

原因简单来说是这样:2进制的小数无法精确的表达10进制小数,计算机在计算10进制小数的过程中要先转换为2进制进行计算,这个过程中出现了误差。

浮点数值采用二进制系统表示,在二进制中无法精准的表示分数1/10

这好像在十进制中无法精准得表示分数1/3

如果想要在数值计算中不允许出现误差,应使用BigDecimal类

为什么二进制无法精准表示1/10

其实跟数位表示法有关,比如十进制的情况下:

 
final 修饰的实列变量,必须手动赋值
	final 修饰的变量 智能赋一次值
	
final修饰的变量一般添加static修饰 变成静态的 存储在方法区,节省空间

static 修饰的final联合修饰的变量成为"常量" 常量名要全部大写,每个单词之间采用下划线连接

常量:时间上和静态变量一样 区别在于:常量的值不能改变
	常量和静态变量都是储存在方法区,并且都是在类加载时初始化
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/305809.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号