Hamming-Code < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 11:17 Do 13.03.2008 | Autor: | Idefix08 |
Hallo,
ich habe die Frage schon einmal gestellt, bis jetzt aber leider niemanden gefunden,der mir weiterhelfen konnte.
Habe zuerst ne Tabelle gemacht, wie es im Skript vorgegeben ist:
i1 i2 i3 i4 p1 p2 p3
X X X X p1
X X X X p2
X X X X p3
Jetzt muss ich die Zahlen 0-16 binär mit den Paritäten verknüpfen, aber wie?
Die Lösung sieht folgendermaßen aus:
0000 000
0001 111
0010 011
0011 100
0100 101 usw. bis 1111 111
Hoffe auf Hilfe...
Vielen Dank Idefix
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
|
|
|
|
Hallo,
du hast aber auch nicht versucht, deine Frage zu präzisieren! Bastiane hat nämlich schon den entscheidenden Tipp gegeben: XOR. Das ist nämlich das erste woran man bei dem Wort Parität denken sollte.
Aber zur Klärung:
Was bedeutet (gerade) Parität?
Kannst du mit eigenen Worten sagen, was das Ergebnis einer Verknüpfung von n Bits per XOR aussagt?
Falls nicht, dann stelle mal Wahrkeitstabellen für a XOR b und dann für a XOR b XOR c auf (evtl. auch für vier Bit). Versuche dann das Ergebnis zu deuten.
Falls du das hast, dann versuche herauszufinden, wie du von deiner Paritätsfunktion $f(a,b,c,d,p)=y$ auf das Paritätsbit $p=g(a,b,c,d,y)$ kommst.
Gruß
Martin
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:01 Do 13.03.2008 | Autor: | Idefix08 |
Hallo,
vielen Dank für die schnelle Antwort
Bei gerader Parität muss die Anzahl der 1en gerade sein.
Eine XOR Verknüpfung für a und b lautet:
0 0 0
0 1 1
1 0 1
1 1 0 also immer dann 1, wenn beide nicht gleich sind.
Wie löse ich es bei a,b und c?
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 0 1 0
1 1 1 0 also immer dann 1, wenn nur eine 1 auftaucht?
Bei 4 Eingängen würde es dann 4 Einsen geben.
Bin ich soweit schon mal auf einem guten Weg?
Hab jetzt wohl auch verstanden, wie ich von dem vierstelligen Dualcode zu den Paritätits komme!
Danke für die Erklärung
Gruß
Idefix
|
|
|
|
|
Hallo,
> 1 1 0 also immer dann 1, wenn beide nicht gleich sind.
OK, das ist aber auch die Definition. Worauf ich hinauswollte:
2 Variablen, gerade Parität -> Ergebnis = 0
> Wie löse ich es bei a,b und c?
Bis auf die letzte Zeile hast du es richtig. Dort müsste es aber heißen:
1 XOR 1 XOR 1 = (1 XOR 1) XOR 1 = 0 XOR 1 = 1
Also:
3 Variablen, gerade Parität -> Ergebnis = 1
> Bei 4 Eingängen würde es dann 4 Einsen geben.
> Bin ich soweit schon mal auf einem guten Weg?
Nein, es müssten 8 Einsen sein.
Worauf ich hinauswollte:
4 Variablen, gerade Parität -> Ergebnis = ?? (bitte vervollständigen)
> Hab jetzt wohl auch verstanden, wie ich von dem vierstelligen Dualcode zu den Paritätits komme!
Falls ja, dann poste mal die Lösungen.
Gruß
Martin
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:39 Do 13.03.2008 | Autor: | Idefix08 |
Stimmt, bei 4 Variablen müssten es 8 Einsen sein:
0000 0
0001 1
0010 1
0011 0
0100 1
0101 0
0110 0
0111 1
1000 1
1001 0
1010 0
1011 1
1100 0
1101 1
1110 1
1111 0 richig?
Lösung lautet dann:
0000 000
0001 111
0010 011
0011 100
0100 101
0101 010
0110 110
0111 001
1000 110
1001 001
1010 101
1011 010
1100 011
1101 100
1110 000
1111 111 richtig?
Gruß
Idefix
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:50 Do 13.03.2008 | Autor: | Idefix08 |
Vielen Dank, warst mir eine große Hilfe!!!
Ist ja eigentlich total einfach, wenn man weiß, wie es geht!
Gruß
Idefix
|
|
|
|