Représentation binaire des nombres

I/ Nombres négatifs

1) Binaire signé

Pour obtenir la représentation binaire de n entre -128 (code 11111111) et 127 (code 01111111), on utilise bin((n+256)%256).

2) Dans l'autre sens

Pour trouver le nombre écrit 10101010, on utilise int("10101010",2)-256, ce qui donne -86.

3) Signe

Le bit le plus à gauche s'appelle bit de signe. Il vaut 0 pour un nombre positif et 1 pour un nombre négatif.

II/ Nombres flottants

1) Exemples

2,5 = 2 ×1,25 = 21×1,25 s'écrit 0100000100000000 sur deux octets.

0010111001100110 représente le nombre 0,0999755859375 et 0010111001100111 représente le nombre 0,10003662109375.

2) 1/10

1/1010=0,000110011001100... n'est pas un flottant.

0.2+0.1 ne donne pas 0.3 mais 0.30000000000000004.