Qu'est-ce que Division entière ?
Division d'entiers qui produit un quotient entier. Le traitement de la partie fractionnaire diffère selon les langages : certains tronquent vers zéro (C, Java), d'autres arrondissent vers moins l'infini (l'opérateur // de Python). Les résultats sont identiques pour les nombres positifs mais diffèrent pour les nombres négatifs.
Nom japonais: 整数除算
« Division entière » apparaît dans 3 questions d'entraînement réparties sur 2 thèmes, dont Arithmétique des ordinateurs, Bases de la programmation (trace de pseudo-code).
Domaine: Bases de la programmation (trace de pseudo-code)
Différences avec les nombres négatifs
Diviser −7 par 2 donne un quotient de −3 et un reste de −1 en C et en Java, qui tronquent vers zéro. L'opérateur // de Python, qui arrondit vers le bas, donne un quotient de −4, et % donne un reste de 1. Dans les deux cas, « quotient × diviseur + reste = dividende » est vérifié ; le reste a le signe du dividende en C et celui du diviseur en Python. C'est une source d'erreurs quand on transpose dans un autre langage un programme qui manipule des nombres négatifs.
Questions fréquentes
Que se passe-t-il en cas de division par zéro ?
La division entière par zéro est une erreur d'exécution (une exception) dans de nombreux langages et un comportement indéfini en C. Un programme doit vérifier que le diviseur n'est pas nul avant de diviser.
Quel lien y a-t-il entre le quotient et le reste de la division entière ?
Avec un quotient q et un reste r, on a dividende = q × diviseur + r. Le quotient et le reste sont définis ensemble : si l'arrondi du quotient change (troncature ou arrondi vers le bas), le reste change aussi.