Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Technische Informatik (http://www.informatikerboard.de/board/board.php?boardid=7)
--- Gray Code (http://www.informatikerboard.de/board/thread.php?threadid=2147)


Geschrieben von Digital am 01.03.2015 um 02:10:

  Gray Code

Meine Frage:
Hallo eine neue Aufgabe bei der ich allerdings noch keine Ansätze hab :

Zu entwickeln ist ein Umcodierer ,der die den dezimalen abwerten 2-5 entsprechenden Codeworte des Gray Code in die entsprechenden Codeworte des BCD Code umwandelt .

Beachten sie das die 16 möglichen Kombinationen des Gray Code damit nicht voll ausgenutzt werden .

Für Tipps wäre ich dankbar.

Meine Ideen:
Leider nicht



Geschrieben von eulerscheZahl am 01.03.2015 um 06:45:

 

Das hatten wir doch so schon mit Aiken. Du kannst die Tabelle (Beitrag von Karlito, Gestern, 17:47) kopieren, aus den Zahlen 5-8 die Folge 2-5 machen und den Aiken Code durch den Gray Code ersetzen. Der Rest bleibt gleich.



Geschrieben von Javaneu am 01.03.2015 um 14:37:

 

Wie lauten denn die Zahlen 2-5 vom Gray Code ?



Geschrieben von Karlito am 01.03.2015 um 15:44:

 

Hallo javaneu,

die Werte kann man im Gray-Code-Artikel von Wikipedia in einer Tabelle finden, die mit 4-Bit-Gray-Code überschrieben ist.

Beachte, dass diese mit 0 beginnt zu zählen.

Gruß,

Karlito



Geschrieben von javaneu am 01.03.2015 um 23:42:

 

[latex]  y_1 = \overline{x_3}*  \overline{x_2} *x_1*x_0 +  \overline{x_3}*  \overline{x_2}*x_1 \overline{x_0}+  \overline{x_3}*x_2*x_1*x_0 [/latex]

[latex]   y_2   =   \overline{x_3}*x_2*x_1*    \overline{x_0}        [/latex]


[latex]   y_3   =   \overline{x_3}*  \overline{x_2} *x_1*x_0+ \overline{x_3}*\overline{x_2}*x_1* \overline{x_0} +\overline{x_3}*x_2*x_1*\overline{x_0} [/latex]

[latex]   y_0   =   \overline{x_3}* \overline{x_2} *x_1*   \overline{x_0}+\overline{x_3}*x_2*x_3*\overline{x_0}  [/latex]


y_1 soweit vereinfacht , wie kann es weiter gehen falss das richtig ist?

[latex]  \overline{x_3}*(x_1*(\overline{x_2}+x_2*x_0))  [/latex]



Geschrieben von Karlito am 02.03.2015 um 00:25:

 

Ich stelle fest, dass ich dir einen suboptimalen Weg gezeigt habe (mir fehlt ein wenig die Übrung, da ich es lange nicht mehr machen musste). Es ist besser aus der Tabelle die KV-Tafel abzulesen. Andernfalls bekommst Du große Probleme bei der Bestimmung der optimalen Formeln.

Wichtig wäre also, dass Du verstehst, wie man KV-Tafeln aufstellt. Schau mal ob Du auf youtube was Gutes findest. Ich habe leider gerade anderweitig zu tun und kann nicht dabei helfen.

Sorry und Gruß,

Karlito



Geschrieben von javaneu am 02.03.2015 um 00:27:

 

Vielleicht meldet sich ja Eulersche Zahl morgen zu Wort ?



Geschrieben von Javaneu am 02.03.2015 um 00:32:

 

Kannst du nicht bisse erklären wie man das mit KV Diagramm machen kann ?



Geschrieben von Karlito am 02.03.2015 um 13:17:

 

Wenn ich Zeit und Lust dazu finde und euler nicht schnerller ist als ich, mache ich das heute Abend.

Gruß,

Karlito



Geschrieben von eulerscheZahl am 02.03.2015 um 16:22:

 

Ich schreibe derzeit in der Firma an meiner Bachelorarbeit, da habe ich nicht so oft Zeit, hier reinzuschauen, wie während des Semesters in der Hochschule.

Zunächst mal machen x3 und y3 keinen Sinn, da man die Zahlen mit 3 Bit ausdrücken kann.
Für jede der 3 Ausgangsvariablen y0, y1, y2 muss ein eigenes KV Diagramm erstellt werden.
Ein KV Diagramm wird so gefüllt: du schaust für jeden Wert des Ausgangs (also für die Zahlen 2-5), welche Eingangskombination vorliegt. Dann musst du im KV das passende Feld finden (in meinem Bild bedeutet das grau hinterlegte, dass die Variable dort 1 ist, sonst ist sie 0). Die fehlenden Felder werden üblicherweise mit - oder x gekennzeichnet - das bedeutet, hier darf eine 0 oder 1 stehen. Anschließend werden möglichst große Rechtecke ("Schleifen") mit Kantenlänge 2^n eingezeichnet, die 1er umfassen, aber keine 0er enthalten dürfen. Von denen werden die Funktionsterme abgelesen und oder-verknüpft stellen sie die vereinfachte Funktion dar.

Ich habe das mal für y2 gemacht. Versuche dich bitte mal selbst an den anderen beiden - falls es nicht klappt, beschreibe so genau wie möglich, wo du scheiterst.



Geschrieben von javaneu am 02.03.2015 um 17:43:

 

Die y Werte deiner tabelle euler sind anders als die von Karlito ?

Welche Werte hast du da eingetragen ?

Hast du anstatt y2 die Werte von y 3 geschrieben ?



Geschrieben von eulerscheZahl am 02.03.2015 um 17:47:

 

Bist du vertraut mit dem Dualsystem?
In der anderen Aufgabe solltest du die Zahlen von 5-8 umwandeln, jetzt sind es die von 2 bis 5. Das sind dann auch binär andere Zahlen.

y3 ist ersatzlos gestrichen, da man keine 4 Bit braucht, um Zahlen <8 darzustellen.



Geschrieben von javaneu am 02.03.2015 um 17:55:

 

Nur so ich habe nach der anderen Tabelle es so gemacht .

Würde das so inhaltlich stimmen ?

Wo stehen die Zahlen denn die man wählen muss für Binärcode ?



Geschrieben von javaneu am 02.03.2015 um 18:00:

 

Weisst du woher ich wissen soll welche Werte ich jeweils für y wählen soll?

Das verstehe ich nicht so ganz.



Geschrieben von eulerscheZahl am 02.03.2015 um 18:01:

 

Wenn die Felder in de Funktion nicht festgelegt sind, schreibst du eben keine 0 rein.
Wenn du das Dualsystem nicht kennst, schaue bei den üblichen Verdächtigen, z.B. google/wikipedia.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH