Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[OFF] Complémentatio à deux
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Animatrix
Guru
Guru


Joined: 13 May 2006
Posts: 480
Location: France - Gard (30)

PostPosted: Sat Feb 02, 2008 3:42 pm    Post subject: [OFF] Complémentatio à deux Reply with quote

Salut à tous !

Lorsqu'on associe à une variable un décimal, celui est alors codé en complémentation à 2, en binaire.

Je dois, à partir d'une complémentation à 2, sur x bits (signé) réussir à réaliser une conversion binaire <> décimale.
Pour cela, je dois utiliser les opérateurs de décalage et les opérateurs bits à bits.

J'ai beau regarder, j'arrive à "créer" la complémentation, mais faire le chemin inverse, impossible.

Pourriez-vous m'aider un peu ?

Merci
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Sat Feb 02, 2008 7:51 pm    Post subject: Re: [OFF] Complémentatio à deux Reply with quote

Animatrix wrote:
Je dois, à partir d'une complémentation à 2, sur x bits (signé) réussir à réaliser une conversion binaire <> décimale.
Pour cela, je dois utiliser les opérateurs de décalage et les opérateurs bits à bits.

Voilà les règles pour la représentation des nombres:
  • Le nombre en binaire ressemble à ça:
    Code:
    n = [s][v]

    Avec s le bit de signe (0 si positif, 1 si négatif) et v le reste de la représentation binaire (x-1 bits).
  • Si s=0, alors n est positif et v est sa représentation binaire.
  • Si s=1, alors n est négatif et v est la représentation binaire de 2^(x-1) - abs(n), et ~v (v avec tous les bits inversés) est la représentation binaire de abs(n)-1.

Quelques exemples (sur 8 bits):
Code:

  n  |    bin    | signe |  v  | 2^(x-1)-v |     ~v      |    valeur     
-----+-----------+-------+-----+-----------+-------------+--------------
127  | 0 1111111 |  0=+  | 127 | -         | -           | 127
1    | 0 0000001 |  0=+  | 1   | -         | -           | 1
0    | 0 0000000 |  0=+  | 0   | -         | -           | 0
-1   | 1 1111111 |  1=-  | 127 | 128-127=1 | 0000000=0   | -(0+1)=-1
-127 | 1 0000001 |  1=-  | 1   | 128-1=127 | 1111110=126 | -(126+1)=-127
-128 | 1 0000000 |  1=-  | 0   | 128-0=128 | 1111111=127 | -(127+1)=-128

Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum