mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständinsproblem Gray-code


Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
kann mir mal jemand mal erklären wie ich im gray-code negative Zahlen 
als 2er complement ausdrücke?

bei einer 3bit Zahl wäre -1 ja 111, beim gray ist 111 ja aber bereits 
für die Zahl 5 reserviert. (anderst als im Binärcode bei dem ich ja den 
Zehlenbereich hier bis 7 hochzählen könnte)

Irgenwie komme ich gerade mächtig durcheinander, finde aber den fehler 
nicht :(

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 3 Bit:
-1 -> Binär 111 -> Gray 100

Bei 4 Bit:
-1 -> Binär 1111 -> Gray 1000

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
d.h. die Zahl wird an der Nulllinie gespiegelt?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bzw. gibt es dann überhaupt ein 2er complement beim gray-code?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris wrote:
> bzw. gibt es dann überhaupt ein 2er complement beim gray-code?

Nein, es gibt nur eine feste Zuordnung von Binär<->Gray. Um das 
2er-Komplement zu bilden, musst du den Weg über den Binärcode gehen.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist das Problem? Die erste Hälfte eines N-Bit Gray-Codes hat 
Bit(N-1)=0 und die zweite Hälfte =1. Grad wie beim normalen Binärcode. 
Damit ist dieses Bit genauso als Vorzeichen verwendbar. Problematisch 
ist nur, das als 2er Komplement zu bezeichnen.

Und rechnen kann man damit sowieso nicht vernünftig, d.h. man wird stets 
umcodieren und dann normal binär rechnen, ggf. wieder zurück. Alles was 
man dafür benötigt ist eine eineindeutige Abbildung von 2^N Codeworte 
auf 2^N Codeworte. Ob das nun Gray-Code ist oder zufällig 
zusammengewürfelt, ist dabei völlig egal.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okay alles klar, jetzt bekomm ich's hin!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.