看板 java 關於我們 聯絡資訊
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://www.ptt.cc/bbs/java/M.1476001408.A.BA2.html
pttworld: IEEE754,浮點數計算在極小數範圍內視為相等處理。 10/09 18:07
pttworld: 陣列我認為是,還有長度0的。 10/09 18:08
pttworld: 補字「二維」,如果不論實際配置。 10/09 18:09
kyleJ: 2是二維陣列 他會產生一個儲存陣列的陣列 以及三個儲存物 10/09 18:23
kyleJ: 件的陣列 10/09 18:23
kyleJ: 但要注意 在Java中陣列也是一種物件 10/09 18:24
Aidan79225: 1. 浮點數的== 通常會實作成 (a - 0.9) < eps 10/09 21:40
Aidan79225: 所以不能隨意期待浮點數的相等 10/09 21:41
shehrevar: 謝謝各位回答~~ 10/09 22:11
kogrs: 研究一下 IEEE754 ,就了解浮點數到底是甚麼 10/10 02:05
Marga: 題外話 double b然後裡面是a==0.7 10/18 02:41