# Hamming Code



## Münchner (16. Jul 2010)

Servus,

hat nicht direkt was mit Java zu tun, ist aber eine Hausaufgabe.

Es sei: n = m + r, wobei m die Bits sind, und r die Anzahl der Parity Bits...
Wie komme ich denn bei gegebener Anzahl der m Bits auf das r?

Hamming kann ich nur das eben nicht.
Merci
Münchner


----------



## SlaterB (16. Jul 2010)

nach 
Hamming-Code ? Wikipedia
gibt es nur eine begrenzte Anzahl erlaubter Codes, ungefähr immer die Vielfachen von 2

hast du also z.B. m = 90 dann ist das ja unterhalb von 2^7 = 128, also 120 + 7 Bits,

gefährlich wirds wenn man an das Vielfache rankommt, für m = 125 reicht 128, also 120 + 7 Bits, nicht mehr aus, 
da muss man zum nächsten Vielfachen 256 gehen, ergo 247 + 8

diese paar Regeln bedenken oder in eine Java-Formel gießen


----------



## Münchner (16. Jul 2010)

Ah, ok.

Also bei 13 Bits wären 2³+1 also noch ok, weil 2^4 ja nicht mehr benötigt wird.

Merci


----------



## SlaterB (16. Jul 2010)

deinen Satz verstehe ich nicht wirklich, wenn ich aber nach der Liste oder meinen Formeln gehe, dann brauchst du 26 + 5 Bits, also 2^5,
denn der nächstkleinere Code 11 + 4 (zu 2^4) hat nur 11 statt 13 Datenbits


----------



## Münchner (16. Jul 2010)

Das mit der Tabelle kapier ich, ich find aber keine Formel, wo mas einfach einsetzen könnte (überlesen ?!)


----------



## SlaterB (16. Jul 2010)

> diese paar Regeln bedenken oder in eine Java-Formel gießen 

es ist eben keine direkte Formel sondern eine Herleitung,
"ich habe 13, vergleiche das mit allen Vielfachen von 2 -> 1, 2, 4, 8 kommen eh nicht in Frage, zu klein, 16 vielleicht oder spätestens 32"
"als nächstes schauen was 16 bedeutet, nämlich 11 + 4, da ist die 11 zuwenig, < 13"

usw., da braucht man schon einen Kopf zum denken oder ein komplexeres Java-Programm mit Schleifen usw.,
direkt eine mathematische Formel ist eher schwierig, wobei vielleicht nicht unmöglich, log2(m) hat bestimmt damit zu tun


----------



## Münchner (16. Jul 2010)

ai comprende!

Danke dir!


----------

