python中取餘與取模的差別

2021-10-02 06:47:08 字數 1479 閱讀 7412

% :python中,符號 % 其實是取模,不是取餘。

取餘與取模的差別:

當兩個數均為正數是,取餘與取模的結果是一致的,而當兩個數一正一負時結果就不一樣了。

舉例:

a = -5, b = 3, y = 餘數, m = 模

取餘過程:

c = a / b = -1.67

取余時,會將 c 向0的方向捨棄掉小數部分,c = -1.67,捨棄後 c = -1

則餘數計算如下:

y = a - b * c = -5 - (3 * (-1)) = -2

取模過程

c = a / b = -1.67

取模時,會將 c 向負無窮的方向取整,比如此處 c = -1.67,向負無窮方向取整後 c = -2,

則取模計算如下:

m = a - b * c = -5 - 3 * (-2) = 1

**操作

# 兩數符號不同的情況

a =-

5b =

3# 取模操作很簡單,通過 % 符號即可實現

m = a % b

# 取餘

c = a / b

y = a - b *

int(c)

print

('對 a、b 取模的結果:{};\n對 a、b 取餘的結果:{}。'

.format

(m, y)

)print()

# 兩數符號相同的情況

# 同為正數

a =5

b =3

# 取模

m = a % b

# 取餘

c = a / b

y = a - b *

int(c)

print

('對 a、b 取模的結果:{};\n對 a、b 取餘的結果:{}。'

.format

(m, y)

)print()

# 同為負數

a =-

5b =-3

# 取模操作很簡單,通過 % 符號即可實現

m = a % b

# 取餘

c = a / b

y = a - b *

int(c)

print

('對 a、b 取模的結果:{};\n對 a、b 取餘的結果:{}。'

.format

(m, y)

)'''

對 a、b 取模的結果:1;

對 a、b 取餘的結果:-2。

對 a、b 取模的結果:2;

對 a、b 取餘的結果:2。

對 a、b 取模的結果:-2;

對 a、b 取餘的結果:-2。

'''

取模與取餘

通常情況下取模運算 mod 和求餘 rem 運算被混為一談,因為在大多數的程式語言裡,都用 符號表示取模或者求餘運算。在這裡要提醒大家要十分注意當前環境下 運算子的具體意義,因為在有負數存在的情況下,兩者的結果是不一樣的。對於整型數a,b來說,取模運算或者求餘運算的方法都是 1.求 整數商 c a ...

C 中的取餘與取模

目前為止,我並沒有找到c 中數學意義上的取模操作。是一種取餘運算。假設r a mod b,關於取模與取餘的一點概念有 那麼,c 中什麼時候會用到取模?在型別轉換時,當把乙個超出範圍的值v賦給乙個無符號型別時,其計算方法是 先確定無符號型別的可取數n 最終結果 v mod n 比如,把 1賦值給uns...

取模與取餘的區別

其實取模和取餘在目標上是一致的,但是因為語言對取餘和取模上定義的不同,導致得到的結果不同。對取餘和取模定義不同的語言中,兩者的不同點只有乙個 取餘運算在計算商值向0方向捨棄小數字 取模運算在計算商值向負無窮方向捨棄小數字 同時,也可以這樣理解 從上面的區別可以總結出,取餘 rem 和取模 mod 在...