1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Variables:
x : entier signé 8 bits
y : entier signé 16 bits
entier_16_bits_s (entier signé 8 bits x): retourne entier signé 16 bits
Debut
Variable:
y : entier signé 16 bits
#on met x en poids fort, pas en poids faible (inversion).
set_poids_fort(y, x)
#on met le poids faible à zéro pour être propre.
set_poids_faible(y, 0)
si y<0 alors
#Si y<0, alors son MSB vaut 1. Ce MSB est aussi celui de x, donc x<0 !!!
#On étend le signe en mettant 255 dans le poids fort (=8 bits à 1).
set_poids_fort(y, 255)
sinon
#Si y>=0, alors son MSB vaut 0 et x>=0
#Il n'y a pas de bit de signe, on met tout le poids fort à zéro.
set_poids_fort(y, 0)
finsi
#Dans tous les cas, il faut maintenant mettre x en poids faible.
set_poids_faible(y, x)
retourne y
Fin |