Entiers

Comment représenter un nombre avec une série de bits ? Intuitivement en comptant avec nos doigts, on dirait que la valeur d’un nombre correspond au nombre de bits allumés, c’est à dire que 10 bits allumés représentent “10”, 8 bits allumés représentent “8”, etc.

Donc dans un octet de 8 bits, chaque bit aurait la valeur suivante (en partant de la droite)

8 7 6 5 4 3 2 1

Cette façon, qui correspond à la manière dont nous comptons avec nos doigts n’est pas celle utilisée par les ordinateurs. Au lieu de cela un ordinateur assigne à chaque bit une puissance de deux successive et croissante à chaque rang

Voici le tableau des huit premières puissances de deux

128 64 32 16 8 4 2 1

Pour représenter un entier en binaire on le repésente comme une somme de puissances de deux. Tout comme notre système de comput en base 10 permet de représenter n’importe quel nombre comme une somme de puissances de 10, on peut également représenter n’importe quel nombre comme une somme de puissances de 2, (ou de n’importe quel autre nombre entier).

Avec simplement 8 bits on peut représenter de manière unique et sans ambigüité n’importe quelle valeur inférieure à 256. En effet $$128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255$$ si on compte la combinaison de bits « tout à zero » on a 256.

Pour représenter zero, on n’allume aucun bit, pour représenter “1”, on allume le dernier bit en partant de la gauche. Pour représenter “2”, on n’allume pas deux bits, mais le bit qui représente 2.

La valeur 3 n’est pas présent dans le tableau : mais en additionnant 2 à 1, on obtient 3, donc on allume le deux derniers bits.

Il s’agit en fait d’additionner successivement chaque valeur qui soit inférieure ou égale à la valeur qu’on veut obtenir sans la dépasser jusquà obtenir le nombre souhaité.

Cette vidéo explique assez bien le procédé : Ordinateur tout un programme - C’est pas sorcier 🌍⤴