Inscription / Connexion Nouveau Sujet
Niveau Maths sup
Partager :

codage d'un entier relatif

Posté par
romu
23-09-07 à 20:04

Bonsoir, je bloque sur un passage de mon cours:

Il faut retenir essentiellement que le dernier bit (le plus à gauche) sert à coder le signe: le nombre est positif si ce bit est 0 et négatif si ce bit est 1. De plus si ce nombre est négatif, pour obtenir sa valeur absolue il faut retrancher l'entier obtenu en base 2 avec les bits restants à 2^{\mbox{nombre de bits}}.

En clair:

pour un entier signé codé sur 8 bits

b_7 b_6\cdots b_1 b_0 = \{ b_6 2^6 + b_5 2^5 +\cdots+ b_1 2 + b_0,\ \mbox{ si } b_7=0; \\ -(2^8 - b_7 2^7 - b_6 2^6 - b_5 2^5 -\cdots- b_1 2 - b_0),\ \mbox{ si } b_7=1.

si b_7=1, je ne vois pas pourquoi on a
b_7 b_6\cdots b_1 b_0 = -(2^8 - b_7 2^7 - b_6 2^6 - b_5 2^5 -\cdots- b_1 2 - b_0).

Déjà
b_7 b_6\cdots b_1 b_0 = -(b_6 2^6 + b_5 2^5 +\cdots+ b_1 2 + b_0), si j'ai bien compris.

Merci pour vos indications.

Posté par
romu
re : codage d'un entier relatif 23-09-07 à 23:07

sur l'article du complément à deux de wikipedia (),


ils disent que la notation du complément à deux consiste à
i)inverser l'écriture binaire de sa valeur absolue,
ii) et rajouter 1 au résultat en ignorant les dépassements.

Ensuite ils disent que cette opération correspond au calcul de 2^n-|X|, où n est la longueur de la représentation.

Ainsi -1 s'écrit comme 256-1=255=11111111_2., pour les nombres de 8 bits.

Je ne vois pas pourquoi faire i) et ii) correspond à faire le calcul de 2^n-|X|?  



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !