」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼 Java 的模運算子對於負數傳回負結果?

為什麼 Java 的模運算子對於負數傳回負結果?

發佈於2024-11-16
瀏覽:338

Why Does Java\'s Modulo Operator Return a Negative Result for Negative Numbers?

Java 中的負模結果

在Java 中執行負數模運算時,您可能會注意到結果與獲得的結果不同在Python中。在 Java 中,int i = -1 % 2 得到 -1,而在 Python 中,它會傳回 1。

理解模和餘數

理解這種差異的關鍵在於模和餘數之間的區別。在 Python 中,% 運算子傳回模數,它始終產生非負結果。相較之下,Java 的模運算子傳回餘數,如果分子為負數,則餘數可能為負數。

修正負結果

獲得與Python % 運算子相同的行為在Java 中,您可以執行以下步驟:

  1. 使用模計算餘數: int i = -1 % 2;
  2. 添加足夠的內容以使餘數非負: if (i

或者,您可以使用以下公式:

int i = (((-1 % 2) 2) % 2);

透過應用這些方法,您可以確保Java 的模運算子對負輸入傳回正結果,與Python 中的行為相符。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3