簡體   English   中英

為什么java在超過Double.Max_Value時返回正無窮大?

[英]why java is returning positive infinity when it exceed Double.Max_Value?

當我嘗試執行此代碼時,結果如何大於Double.MAX_Value?溢出/下溢是否會影響java中的雙數據類型?

碼:

   result = Double.MAX_VALUE * Double.MAX_VALUE;

   if (result > Double.MAX_VALUE) {
      // Some return statements.
   }

來自Java語言規范

浮點乘法的結果由IEEE 754算法的規則決定:

  • [...]
  • 如果產品的大小太大而無法表示,我們說操作溢出 ; 結果是無窮無盡的適當標志

由於Double.MAX_VALUE * Double.MAX_VALUE太大而無法表示,因此其值變為無窮大。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM