首頁 > Java > java教程 > 為什麼將'L”加到整數文字會改變乘法結果?

為什麼將'L”加到整數文字會改變乘法結果?

Linda Hamilton
發布: 2024-11-07 09:53:02
原創
746 人瀏覽過

Why Does Adding 'L' to an Integer Literal Change Multiplication Results?

為什麼乘法運算會產生不同的結果?

在提供的程式碼中,結果的差異是由於存在或不存在字母「L」附加到整數文字上。要理解這種差異,深入研究所涉及的資料類型非常重要:

分配給 oneYearWithL 的值是一個 long,由「L」後綴表示。與整數相比,長整型可以表示更大範圍的值。在這種情況下,365 被認為是 long,並且將其與前面的整數值相乘的結果也是 long。

另一方面,oneYearWithoutL 被分配了一個整數值。整數值相乘得到一個整數。但是,此表達式的值超出了最大 32 位元整數限制 (2^31 - 1)。因此,在賦值過程中,它會被截斷以適合有效的整數範圍,從而導致計算不正確。

為了進一步說明這一點,請考慮以下輸出:

輸出:

這表示當包含「L」時,結果在long 資料類型的範圍內,因此是準確的。但是當省略“L”時,結果會被截斷為整數,從而導致值不正確。

要修正此問題並獲得正確的結果,oneYearWithoutL 中的乘法表達式應明確轉換為長整型(long) 或數位文字應加上「L」後綴,例如oneYearWithoutL = 1000*60* 60*24*365L。

以上是為什麼將'L”加到整數文字會改變乘法結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板