Codage des entiers relatifs

Pour coder en binaire les nombres entiers relatifs (\(\in\mathbb{Z}\)),  il faut réserver une partie des codes binaires disponibles (\(2^n\) pour un codage sur \(n\) bits) aux entiers positifs, et l’autre partie aux nombres négatifs.

 

Le code complément à 2

Le code « complément à 2 » (2 pour « base 2 »), répartit les nombres de la manière suivante :

Puisque l’ensemble des nombres que l’on peut coder sur \(n\) bits est fini (de taille égale à \(2^n\)), on peut également le représenter par un cercle :

Activité
Représenter sur un cercle l’ensemble des nombres relatifs que l’on peut coder en binaire sur 3 bits.
 
En observant les codes des nombres positifs et négatifs, expliquer l’intérêt que présente ce codage.
 
Décrire les « opérations » à réaliser sur la représentation binaire d’un nombre permettant d’obtenir son opposé.

 

Pour coder un nombre négatif, il faut complémenter le code binaire naturel de sa valeur absolue et lui ajouter 1.

\(\bbox[10px,border:2px solid black]{\color{#aaa}\Large{-a = \overline{a}+1}}\)

ATTENTION
le « + » ici représente une somme (et non l’opérateur binaire OU !) : addition de deux nombres

tandis que l’opérateur NON, noté \(\overline{a}\) est une opération binaire (« inversion » de chaque bit du nombre)

Exemple : codage du nombre entier relatif \(-22\)

le code binaire de l’entier naturel \(22_{10}\) sur un format 8 bits est \(0001 0110_2\)

pour obtenir son code complément à 2 on commence par complémenter son code binaire naturel : \( \color{#aaa}{\overline{0001\,0110} = 1110\,1001}\)

puis on ajoute \(1\), soit \(0000\,00012\) en binaire :

 

Remarques :

  • Le nombre de bits doit être défini dans la règle : un nombre négatif n’aura pas le même code sur 8bits et 12bits

exemple : \(\)-3710 = 1101 10112 = 1111 1101 10112\(\)

  • le chiffre binaire de poids fort représente le signe du nombre : 0 = nombre positif ; 1 = nombre négatif

 


Activité : conversion
Convertir les nombres décimaux suivants en code complément à 2 :
×
(8 bits)

×
(8 bits)

×
(10 bits)

 

Convertir en écriture décimale les nombres binaires (code complément à 2) suivants :
×
×

 

 

 

Suite : faire le quiz sur le codage des nombres

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *