
 
TP 2 : Vendredi 13 Septembre 2013 
 Codage des nombres entiers relatifs 
 
Continuons à coder notre monde … 
 
Partie du programme : Représentation de l’information 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
La mémoire des ordinateurs est constituée d’une multitude de petits circuits électroniques qui, chacun, ne 
peuvent être que dans 2 états : hors tension ou sous tension.  
Comme il a fallu donner un nom à ces états, on a décidé de les appeler 0 et 1.  
Un tel circuit à 2 états s’appelle un circuit mémoire un bit. 
 
Le nombre entier naturel 13, représenté en base 2 par :  est donc représenté dans la mémoire d’un 
ordinateur par le mot 1101, c’est-à-dire par 4 circuits mémoire un bit respectivement dans les états 1, 0, 1, 1. 
 
Les circuits mémoire un bit sont souvent groupés par huit (octet) et on utilise des nombres exprimés en 
langage binaire sur un, deux, quatre ou huit octets soit 8, 16, 32 ou 64 bits.  
 
Sur un octet, on peut représenter les nombres entiers naturels allant de 0 à :       
Sur deux octets, on peut représenter les nombres entiers naturels allant de 0 à : 
         
Sur quatre octets, on peut représenter les nombres entiers allant de 0 à    
Sur huit octets, i.e. 64 bits : on peut représenter tous les nombres entiers naturels allant de 0 à   . 
 Dans le langage Python, on ne peut manipuler que des nombres entiers relatifs : tous les entiers sont signés.  
 Il faut étendre aux entiers relatifs la représentation binaire des entiers naturels. 
 
 1ère solution naturelle : réserver un bit pour le signe et utiliser les autres pour représenter sa valeur 
absolue. 
Ainsi, avec des  mots de 16 bits, si on utilise 1 bit pour le signe et 15 bits pour la valeur absolue, on pourrait 
représenter les entiers relatifs allant de :   
-  = -    = - 32 767 à  =    = 32 767. 
Inconvénient de cette méthode (entre autres) : existence de deux zéros l’un positif et l’autre négatif ! 
 
 Solution choisie : la notation en complément à 2. 
 
On va représenter un entier relatif par un entier naturel. Si on utilise des mots de 16 bits, on va pouvoir 
représenter les entiers relatifs de  -32 768 à 32 767 en procédant ainsi : 
Représentation binaire : 
 
Un ordinateur est une machine qui manipule 
des valeurs numériques représentées sous 
forme binaire.  
Compétence :  
 
Manipuler à l’aide d’opérations élémentaires 
les trois unités de base : bit, octet, mot.  
Numérisation :  
 
L’ordinateur manipule uniquement des valeurs 
numériques. Une étape de numérisation des 
objets du monde physique est donc 
indispensable.  
Compétence :  
 
Coder un nombre, un caractère au travers d’un 
code standard, un texte sous forme d’une liste 
de valeurs numériques.  
Numériser une image ou un son sous forme d’un 
tableau de valeurs numériques.