浮點數(shù)字,也就是人們知道的實數(shù)(real),當(dāng)計算的表達(dá)式有精度要求時被使用。例如,計算平方根,或超出人類經(jīng)驗的計算如正弦和余弦,它們的計算結(jié)果的精度要求使用浮點型。Java 實現(xiàn)了標(biāo)準(zhǔn)(IEEE-754 )的浮點型和運(yùn)算符集。有2種浮點型,單精度浮點型(float )及雙精度(double )浮點型。
他們的長度和變化范圍如表3-2 所示:
表3-2 浮點型分類及其特性
名稱 位數(shù) 數(shù)的范圍
DOUBLE 64 1.7E–308~1.7E+308
float 32 3.4E–038~3.4E+038
下面討論浮點型的每一種類型。
3.4.1 單精度浮點型(float)
單精度浮點型(float )專指占用32位存儲空間的單精度(single-precision )值。單精度在一些處理器上比雙精度更快而且只占用雙精度一半的空間,但是當(dāng)值很大或很小的時候,它將變得不精確。當(dāng)你需要小數(shù)部分并且對精度的要求不高時,單精度浮點型的變量是有用的。例如,當(dāng)表示美元和分時,單精度浮點型是有用的。
這是一些聲明單精度浮點型變量的例子:float hightemp,lowtemp;
3.4.2 雙精度型(double )浮點型
雙精度型,正如它的關(guān)鍵字“double ”表示的,占用64位的存儲空間。在一些現(xiàn)代的被優(yōu)化用來進(jìn)行高速數(shù)學(xué)計算的處理器上雙精度型實際上比單精度的快。所有超出人類經(jīng)驗的數(shù)學(xué)函數(shù),如sin( ),cos( ) ,和sqrt( )均返回雙精度的值。當(dāng)你需要保持多次反復(fù)迭代的計算的精確性時,或在操作值很大的數(shù)字時,雙精度型是的選擇。
下面的短程序用雙精度浮點型變量計算一個圓的面積:
// Compute the area of a circle.class Area {public static void main(String args[]) { double pi,r,a;
r = 10.8; // radius of circlepi = 3.1416; // pi,approximatelya = pi * r * r; // compute areaSystem.out.println("Area of circle is " + a);
}
}
他們的長度和變化范圍如表3-2 所示:
表3-2 浮點型分類及其特性
名稱 位數(shù) 數(shù)的范圍
DOUBLE 64 1.7E–308~1.7E+308
float 32 3.4E–038~3.4E+038
下面討論浮點型的每一種類型。
3.4.1 單精度浮點型(float)
單精度浮點型(float )專指占用32位存儲空間的單精度(single-precision )值。單精度在一些處理器上比雙精度更快而且只占用雙精度一半的空間,但是當(dāng)值很大或很小的時候,它將變得不精確。當(dāng)你需要小數(shù)部分并且對精度的要求不高時,單精度浮點型的變量是有用的。例如,當(dāng)表示美元和分時,單精度浮點型是有用的。
這是一些聲明單精度浮點型變量的例子:float hightemp,lowtemp;
3.4.2 雙精度型(double )浮點型
雙精度型,正如它的關(guān)鍵字“double ”表示的,占用64位的存儲空間。在一些現(xiàn)代的被優(yōu)化用來進(jìn)行高速數(shù)學(xué)計算的處理器上雙精度型實際上比單精度的快。所有超出人類經(jīng)驗的數(shù)學(xué)函數(shù),如sin( ),cos( ) ,和sqrt( )均返回雙精度的值。當(dāng)你需要保持多次反復(fù)迭代的計算的精確性時,或在操作值很大的數(shù)字時,雙精度型是的選擇。
下面的短程序用雙精度浮點型變量計算一個圓的面積:
// Compute the area of a circle.class Area {public static void main(String args[]) { double pi,r,a;
r = 10.8; // radius of circlepi = 3.1416; // pi,approximatelya = pi * r * r; // compute areaSystem.out.println("Area of circle is " + a);
}
}