作者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/m.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