Gli operatori // e % applicati a numeri interi positivi a e b hanno un comportamento piuttosto evidente (quoziente e resto della divisione intera)
a = DIV*b + MOD
a = quoziente*b + resto
Gli operatori possono essere applicati anche a numeri interi negativi (?) e a float (?)
Per brevità utilizza la funzione predefinita divmod().
(DIV, MOD) | ? | |
---|---|---|
divmod(20, 5) | (4, 0) | 20 = (4)*(5) +0 |
divmod(20, -5) | (-4, 0) | 20 = (4)*(-5) +0 |
divmod(-20, 5) | (-4, 0) | -20 = (-4)*(5) +0 |
divmod(-20, -5) | (4, 0) | -20 = (4)*(-5) +0 |
divmod(20, 7) | (2, 6) | 20 = (2)*(7) +6 |
divmod(20, -7) | (-3, -1) | 20 = (-3)*(-7) -1 |
divmod(-20, 7) | (-3, 1) | -20 = (-3)*(7) +1 |
divmod(-20, -7) | (2, -6) | -20 = (2)*(-7) -6 |
divmod(20, 7.1) | (2, 5.8) | 20 = (2)*(7.1) +5.8 |
divmod(20, -7.1) | (-3, -1.3) | 20 = (-3)*(-7.1) -1.3 |
divmod(-20, 7.1) | (-3, 1.3) | -20 = (-3)*(7.1) +1.3 |
divmod(-20, -7.1) | (2, -5.8) | -20 = (2)*(-7.1) -5.8 |
Osserva
- Il quoziente è
- positivo: se dividendo e divisore sono concordi
- negativo: se dividendo e divisore sono discordi
- Il resto ha il segno del divisore