跳轉到內容

程式設計基礎/整數除法和取餘

來自華夏公益教科書,開放的書籍,開放的世界

在整數除法和取餘中,被除數被除數除,得到一個整數商和一個餘數。整數商運算被稱為整數除法,整數餘數運算被稱為取餘。[1][2]

當我們達到成年時,我們通常認為除法會產生一個可能帶有小數部分的答案(浮點資料型別)。這種除法被稱為浮點除法。然而,當兩個運算元都是整數資料型別時,除法的行為可能不同,取決於程式語言,被稱為整數除法。考慮

11 / 4

因為兩個運算元都是整數資料型別,所以表示式的計算結果(或答案)將是2,沒有小數部分(它被丟棄了)。同樣,這種除法被稱為整數除法,這是你在小學第一次學習除法時學到的。

在資料操作的現實世界中,有些東西總是以整單位或數字(整數資料型別)來處理。分數不存在。為了說明我們的例子:我有11個硬幣,要平均分配給我的4個孩子。他們每個人能得到多少?答案是2,我還剩下3個(或者在我的手裡還剩下3個)。答案不是每個孩子2 ¾或2.75。硬幣不能分成小數部分。不要試圖跳出框框思考,也不要假裝你是海盜。用斧頭把剩下的3個硬幣劈成八分之一。然後,給每個孩子2個硬幣和6個八分之一,或者2 6/8 或 2 ¾ 或 2.75。如果你這樣想,我會把我的例子改成番茄湯罐頭。我敢你把剩下的三罐湯切碎,每個孩子 ¾ 罐。

什麼是取餘?它是整數除法答案的另一部分。它是餘數。還記得在小學,你會說,“十一除以四等於二餘三”。在許多程式語言中,取餘運算子的符號是百分號(%)。

11 % 4

因此,這個表示式的答案或值為3,或整數除法的餘數部分。

許多編譯器要求你必須在取餘運算子兩邊都有整數運算元,否則你會得到一個編譯錯誤。換句話說,對浮點運算元使用取餘運算子是沒有意義的。

不要讓以下內容讓你感到困惑。

6 / 24 不同於 6 % 24

你能夠把24分成6多少次?6除以24等於零。這與:6除以24的餘數是多少?不同。6,餘數部分由取餘給出。

計算以下除法表示式

  1. 14 / 4
  2. 5 / 13
  3. 7 / 2.0

計算以下取餘表示式

  1. 14 % 4
  2. 5 % 13
  3. 7 % 2.0

解答

  1. 14 % 4 = 2
  2. 5 % 13 = 5
  3. 7 % 2.0 = 1.0

關鍵詞

[編輯 | 編輯原始碼]
整數除法
沒有小數部分的除法——給出“商”作為答案。
取餘
整數除法的餘數部分。

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書