作者shehrevar (阿浩)
看板java
标题[语法] 新手提问 阵列跟浮点数
时间Sun Oct 9 16:23:25 2016
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];
请问这样算是一维阵列还是二维阵列
谢谢各位解答
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.136.8.85
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1476001408.A.BA2.html
1F:→ pttworld: IEEE754,浮点数计算在极小数范围内视为相等处理。 10/09 18:07
2F:→ pttworld: 阵列我认为是,还有长度0的。 10/09 18:08
3F:→ pttworld: 补字「二维」,如果不论实际配置。 10/09 18:09
4F:推 kyleJ: 2是二维阵列 他会产生一个储存阵列的阵列 以及三个储存物 10/09 18:23
5F:→ kyleJ: 件的阵列 10/09 18:23
6F:→ kyleJ: 但要注意 在Java中阵列也是一种物件 10/09 18:24
7F:推 Aidan79225: 1. 浮点数的== 通常会实作成 (a - 0.9) < eps 10/09 21:40
8F:→ Aidan79225: 所以不能随意期待浮点数的相等 10/09 21:41
9F:→ shehrevar: 谢谢各位回答~~ 10/09 22:11
10F:→ kogrs: 研究一下 IEEE754 ,就了解浮点数到底是甚麽 10/10 02:05
11F:→ Marga: 题外话 double b然後里面是a==0.7 10/18 02:41