# Hamming code exercise

I'm preparing for my exams I stumbled across this exercise. Now I can't seem to figure it out. Anybody can help me ?

The exercise:

For the 8bit data word: 00111001 the check bits are: 0111. Now if the word is read from the memory and the check bits are 1101, what is the dataword?

The text is translated from another language to English.

I started by doing a check :

The entire word is the dataword (8 bits) combined with the check (4 bits).

In this case: 0 0 1 1 0 1 0 0 1 1 1 1 (the check bits on position 1, 2, 4 and 8, with the right bit being the least significant bit)

Then the check itself:

The check consists of searching for all the bit that have the value one from the dataword in the combined word. It can be seen that position 3 7 9 and 10 have the value one and didn't come from the check. These 4 values are written binary and added up. When this is done. the check is found again. (To confirm that this method works)

3: 0 0 1 1

7: 0 1 1 1

9: 1 0 0 1

10: 1 0 1 0

0 1 1 1


So this is correct (Just to see if this method is correct)

Then I have another check (1101), but how can I find the data word ?

How I did it was: Use the original data word and fill in the new check bits. :

001111001101

Then again get the positions where the 1s are and convert that number to binary:

1 : 0 0 0 1

3 : 0 0 1 1

4 : 0 1 0 0

7 : 0 1 1 1

8 : 1 0 0 0

9 : 1 0 0 1

10: 1 0 1 0

1 0 1 0


So this means that the 10th bit is wrong

Since I don't have the actual solution, i do not know if this is correct, bit it fits the way I learned how to do this.