# Compute the Hamming code with odd parity for the memory word 1101 1001 0001 1011

This is the problem I have:

Compute the Hamming code with odd parity for the memory word 1101 1001 0001 1011 (2 pts.). In your solution, mark the parity bits as in the following example, where parity bits are: 3, 5, 11, and 13

0001 0100 1011 1100 1001 1
P  P      P  P


Note: This is only an example on how you should mark the parity bits. It is not a correct code word by any means.

There are 2 things I do not understand:

1. A 16-bit memory word needs 5 check bits from this formula $2^k -1 \ge m + r$, where m is the number of data bits and r the number of check bits. But in the exercise we have just 4 check positions.

2. The check positions usually occupy the positions that are power of 2, for example $2^0$, $2^1$, $2^2$... So why are they asking to use other positions for the check bits?

## 1 Answer

1. They clearly say that the example is only given as an example. If you believe you need 5 parity bits - use 5 bits. They use 4 bits in their example for no good reason.

2. True, they still wish you to mark it clearly. I guess the reason is (a) to make sure you know that the parity comes in powers of 2, and (b) to ease their grading. note you should not use positions 3,5,11, and 13! these are again only their example, and the note below the example clarifies you need not pay attention to it.

(at least, that's the way that I understand the question. There is a small ambiguity there that allows one to understand it the way you did)