Interprétation des valeurs des nombres binaires

Les valeurs que représentent ces codes binaires dépendent de la convention envisagée :

Nombres signés ou non-signés ? Seul le programmeur qui utilise ces codes le sait.
La machine elle ne sait rien ! Elle peut tout au plus signaler les débordements éventuels, autrement dit si le résultat nécessite plus de bits que ceux mis à sa disposition pour être codé.

Pour les nombres non-signés, les 256 valeurs possibles avec un octet vont de 0 à 255.
Un résultat inférieur à 0 ou supérieur à 255 ne peut être codé avec 8 bits seulement.
Le flag de Carry sert à indiquer ce type d'erreur.
Les programmes n'ont a en tenir compte que lorsqu'ils traitent des nombres non-signés.

Pour les nombres signés, les 256 valeurs possibles avec un octet vont  de  -128  à  +127.
Un résultat inférieur à -128 ou supérieur à +127 ne peut être codé avec 7 bits seulement + 1 bit de signe.
Le flag d' overflow sert à indiquer ce type d'erreur.
Les programmes n'en tiennent compte que lorsqu'ils traitent des nombres signés.

  CY= OV=
   
    +  
   

Cliquez ci-dessus, dans les cases oranges pour faire basculer les valeurs des bits qu'elles contiennent.

Observez les valeurs que représentent ces codes binaires selon qu'ils représentent des nombres signés ou non-signés.

Essayer différents codes, les débordements (Carry ET/OU Overflow) sont marqués en rouge.