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 :
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}}\)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
Suite : faire le quiz sur le codage des nombres