[語法] 新手提問 陣列跟浮點數

作者: 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