Preuve : On prend pour qle plus grand entier tel que a−bq > 0.
La division euclidienne permet d’écrire un nombre entier, en utilisant une base bet
des caractères pour représenter les entiers entre 0 et b−1. Nous écrivons les nombres
entiers en base b= 10 avec comme caractères les chiffres de 0 à 9. Les ordinateurs
utilisent des circuits binaires pour stocker les informations, il est donc naturel d’y tra-
vailler en base 2 en utilisant comme caractères 0 et 1 ou en base 16 en utilisant comme
caractères les chiffres de 0 à 9 et les lettres de A à F. En général, pour trouver l’écrit-
ure d’un nombre en base b(par exemple b= 2), on effectue des divisions euclidienne
successives par bdu nombre puis de ses quotients successifs jusqu’à ce que le quotient
soit 0 et on accolle les restes obtenus (premier reste à droite, dernier reste à gauche).
Inversement, pour retrouver un entier dà partir de son écriture dn...d0, on traduit les
divisions euclidiennes successives en
d= (...((dnb+dn−1)b+dn−2)... +d1)b+d0
=dnbn+dn−1bn−1+... +d0
Par exemple, vingt-cinq s’écrit en base 16 19 car 25 divisé par 16 donne quotient 1,
reste 9. En base 2, on trouverait 00011001 car 25 = 24+ 23+ 1. On peut effectuer
les opérations arithmétiques de base (+,-,*, division) directement en base 2 (ou 16). Par
exemple la table de l’addition est 0+0=0, 0+1=1+0=1 et 1+1=0 je retiens 1, donc :
01001111
+ 01101011
----------
10111010
Exercice : comment passe-t-on simplement de la représentation d’un nombre en
base 2 à un nombre en base 16 et réciproquement?
Les microprocesseurs peuvent effectuer directement les opérations arithmétiques
de base sur les entiers “machine” (déclinés en plusieurs variantes selon la taille et la
possibilité d’avoir un signe). Noter que la division de deux entiers aet bn’a pas la
même signification que la division de deux réels, comme elle ne tomberait pas forcé-
ment juste, on calcule le quotient et le reste de la division euclidienne.
Ces entiers machines permettent de représenter de manière exacte des petits entiers
relatifs par exemple un entier machine signé sur 4 octets est compris entre [−231,231 −
1]. Selon le microprocesseur les 4 octets représentant l’entier sont stockés par adresse
mémoire décroissante ou croissante (big ou little endian). Sur certains systèmes (dits
BCD), on écrit les entiers en base 10, chaque chiffre occupant 4 bits (qui normalement
sert à stocker un chiffre en base 16). Les microprocesseurs correspondants ont un flag
leur permettant d’effectuer les opérations sur des nombres vu en représentation BCD
(base 10) ou hexadécimale (base 16).
Ces entiers machines permettent de faire très rapidement du calcul exact sur les
entiers, mais à condition qu’il n’y ait pas de dépassement de capacité, par exemple
pour des entiers 32 bits, 231 + 231 renverra 0. Ils sont très utilisés en calcul formel
pour les algorithmes dits modulaires (on travaille modulo un entier assez petit). Pour
travailler avec des entiers plus grands, on doit utiliser des entiers de taille plus grande,
mais il faut alors programmer les opérations de base et décider d’un mécanisme de
4