浮點型(Floating-Point Types)(轉)

ba發表於2007-08-15
浮點型(Floating-Point Types)(轉)[@more@]浮點數字,也就是人們知道的實數(real),當計算的表示式有精度要求時被使用。例如,計算平方根,或超出人類經驗的計算如正弦和餘弦,它們的計算結果的精度要求使用浮點型。Java 實現了標準(IEEE-754 )的浮點型和運算子集。有2種浮點型,單精度浮點型(float )及雙精度(double )浮點型。

他們的長度和變化範圍如表3-2 所示:

表3-2 浮點型分類及其特性

名稱 位數 數的範圍
DOUBLE 64 1.7E–308~1.7E+308
float 32 3.4E–038~3.4E+038

下面討論浮點型的每一種型別。

3.4.1 單精度浮點型(float)

單精度浮點型(float )專指佔用32位儲存空間的單精度(single-precision )值。單精度在一些處理器上比雙精度更快而且只佔用雙精度一半的空間,但是當值很大或很小的時候,它將變得不精確。當你需要小數部分並且對精度的要求不高時,單精度浮點型的變數是有用的。例如,當表示美元和分時,單精度浮點型是有用的。

這是一些宣告單精度浮點型變數的例子:float hightemp,lowtemp;
3.4.2 雙精度型(double )浮點型

雙精度型,正如它的關鍵字“double ”表示的,佔用64位的儲存空間。在一些現代的被最佳化用來進行高速數學計算的處理器上雙精度型實際上比單精度的快。所有超出人類經驗的數學函式,如sin ( ),cos( ) ,和sqrt( )均返回雙精度的值。當你需要保持多次反覆迭代的計算的精確性時,或在操作值很大的數字時,雙精度型是最好的選擇。

下面的短程式用雙精度浮點型變數計算一個圓的面積:

// 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);

}
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-958162/,如需轉載,請註明出處,否則將追究法律責任。

相關文章