Exercice : Quand le signe s'en mêle !
Modifiez votre programme en déclarant un unsigned short su. Affichez la taille de cette variable. Affectez la valeur « 128*256+256+48 » à i, puis copiez i dans s et su. Affichez les contenus de ces trois variables.
Une fois le résultat analysé, complétez le texte suivant.
Nous voyons ici que la valeur de su est « cohérente » avec la valeur de i. La valeur tient sur 16 bits, qui sont transmis à su. Le bit 15 (de poids fort) est à 1. su étant non signé, la valeur affichée correspond à celle de i. Toutefois, pour s, ce bit sert pour le signe. La valeur n'est donc plus la même et de plus négative.
Les domaines de définition des deux variables s et su sont des intervalles sur les entiers de tailles identiques, mais quand le domaine des entiers courts signés est centré sur la valeur 0, l'autre domaine a une valeur minimale de 0.