Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users French
  • Search

[OFF] Complémentatio à deux

Forum dédié aux utilisateurs francophones de Gentoo. Retrouvez aussi Gentoo Linux en français sur le wiki!

Moderators: El_Goretto, xaviermiller

Post Reply
  • Print view
Advanced search
2 posts • Page 1 of 1
Author
Message
Animatrix
Guru
Guru
User avatar
Posts: 480
Joined: Sat May 13, 2006 6:11 pm
Location: France - Gard (30)

[OFF] Complémentatio à deux

  • Quote

Post by Animatrix » Sat Feb 02, 2008 3:42 pm

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
Top
widan
Veteran
Veteran
User avatar
Posts: 1512
Joined: Tue Jun 07, 2005 4:26 pm
Location: Paris, France

Re: [OFF] Complémentatio à deux

  • Quote

Post by widan » Sat Feb 02, 2008 7:51 pm

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: Select all

    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: Select all

  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

Top
Post Reply
  • Print view

2 posts • Page 1 of 1

Return to “French”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic