首頁 > 後端開發 > Golang > Go 如何處理整數除法,如何確保浮點結果?

Go 如何處理整數除法,如何確保浮點結果?

Mary-Kate Olsen
發布: 2024-12-02 08:34:14
原創
929 人瀏覽過

How Does Go Handle Integer Division, and How Can I Ensure Floating-Point Results?

理解Go 中的除法

與其他自動執行浮點除法的程式語言不同,Go 需要明確轉換為浮點除法營運.使用整數時,這可能會導致意外結果。

請考慮以下程式碼:

這將輸出 0 而不是預期的 0.3。原因是操作數 3 和 10 都是無型別整數常數。根據Go語言規範,如果二元運算的操作數是不同種類的無類型常數,則運算和結果使用列表中後面出現的類型:整數、符文、浮點、複數。在這種情況下,整數出現在浮點之前,因此結果是無類型整數 (0)。

要得到浮點結果,操作數之一必須是浮點常數。考慮以下情況:

所有這些表達式的計算結果將是無型浮點常數 0.3。透過在任一運算元中新增 .0,我們將其明確轉換為浮點,從而得到浮點結果。

當除法運算涉及類型化運算元時,類型化運算元的型別決定了表達式的型別。為了確保 float64 結果,類型化運算元應該是 float64。例如:

這些表達式會將 int 變數轉換為 float64,從而產生 0.3 的 float64 結果。

要注意的是,像 10.0 和 3.0 這樣的數字文字是無型浮點數-point 常數,而不是 float64。像 i3 / 10.0 和 3.0 / i10 這樣的表達式仍然會產生整數 0,因為類型化運算元(i3 和 i10)決定了結果的類型。

以上是Go 如何處理整數除法,如何確保浮點結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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