[语法] 新手提问 阵列跟浮点数

楼主: shehrevar (阿浩)   2016-10-09 16:23:25
1. 我知道浮点数是一个不精确的数值,所以我试做了两个方法
Double a = 0.3+0.3+0.3;
System.out.print(a==0.9);//false
===============================
Double b =0.3+0.3+0.1;
System.out.print(a==0.7);//ture
是一定要三个都是不精确得到的值才是都不精确吗??
2. int[][] a = new int[1][3];
请问这样算是一维阵列还是二维阵列
谢谢各位解答
作者: pttworld (批踢踢世界)   2016-10-09 18:07:00
IEEE754,浮点数计算在极小数范围内视为相等处理。阵列我认为是,还有长度0的。补字“二维”,如果不论实际配置。
作者: kyleJ (资工人)   2016-10-09 18:23:00
2是二维阵列 他会产生一个储存阵列的阵列 以及三个储存物件的阵列但要注意 在Java中阵列也是一种物件
作者: Aidan79225 (鬼神)   2016-10-09 21:40:00
1. 浮点数的== 通常会实作成 (a - 0.9) < eps所以不能随意期待浮点数的相等
楼主: shehrevar (阿浩)   2016-10-09 22:11:00
谢谢各位回答~~
作者: kogrs (kogrs)   2016-10-10 02:05:00
研究一下 IEEE754 ,就了解浮点数到底是什么
作者: Marga   2016-10-18 02:41:00
题外话 double b然后里面是a==0.7

Links booklink

Contact Us: admin [ a t ] ucptt.com