java關鍵字——strictfp
strictfp, 即 strict float point (精確浮點)。
strictfp關鍵字可應用於類、接口、方法。
使用 strictfp 關鍵字聲明一個方法時,該方法中所有的float和double表達式都嚴格遵守FP-strict的限製,符合IEEE-754規範。當對一個類或接口使用 strictfp 關鍵字時,該類中的所有代碼,包括嵌套類型中的初始設定值和代碼,都將嚴格地進行計算。嚴格約束意味著所有表達式的結果都必須是 IEEE 754 算法對操作數預期的結果,以單精度和雙精度格式表示。
如果你想讓你的浮點運算更加精確,而且不會因為不同的硬件平台所執行的結果不一致的話,可以用關鍵字strictfp.
示例 1
下麵的示例演示了一個使用 strictfp 修飾符聲明的類。
public strictfp class MyClass
{
public MyClass(){}
public static voidmain(String[] args)
{
float aFloat = 0.6710339f;
double aDouble =0.04150553411984792d;
double sum = aFloat +aDouble;
float quotient =(float)(aFloat / aDouble);
System.out.println("float:" + aFloat);
System.out.println("double:" + aDouble);
System.out.println("sum:" + sum);
System.out.println("quotient:" + quotient);
}
}
示例輸出
float: 0.6710339
double: 0.04150553411984792
sum: 0.71253945297742238
quotient: 16.1673355
示例 2
下麵的示例演示了一個使用 strictfp 修飾符聲明的方法。
public class MyClass2
{
public float aFloat;
public double aDouble;
public MyClass2(){}
public strictfp double add(float a, double b)
{
return (a + b);
}
public static voidmain(String[] args)
{
MyClass2 myClass2 = newMyClass2();
myClass2.aFloat =0.6710339f;
myClass2.aDouble =0.04150553411984792d;
double sum =myClass2.add(myClass2.aFloat, myClass2.aDouble);
System.out.println("float:" + myClass2.aFloat);
System.out.println("double:" + myClass2.aDouble);
System.out.println("sum:" + sum);
}
}
示例輸出
float: 0.6710339
double: 0.04150553411984792
sum: 0.71253945297742238
原帖地址:https://baike.baidu.com/view/1866622.htm
最後更新:2017-04-03 20:19:32
上一篇:
java中的this關鍵字
下一篇:
hql基本查詢語句
雲計算十字真言及其在小博無線的實踐
"0x00a1bdb3" 指令引用的 "0x00000001" 內存。該內存不能為 "read"。
麵向對象的分析與設計
#文末福利|雲棲大會門票限時贈送# 10.11雲棲大會Clouder Lab “十分鍾搭建共享應用”,手把手教你Serverless架構下的應用實現
上海虹口區涼城新村質量永恒自動門安裝50930378
阿裏雲幸運券領取及優惠價格說明
深入阿裏雲大數據IDE–MaxCompute Studio
HTAP數據庫 PostgreSQL 場景與性能測試之 40 - (OLTP+OLAP) 不含索引多表批量寫入
在Entity Framework中使用存儲過程(四):如何為Delete存儲過程參數賦上Current值?
使用資源本地化 ASP.NET 網頁