→ Imagine that we want to design a code with m message bits and r check bits that will allow all single errors to be corrected.
→ Each of the 2 m legal messages has n illegal codewords at a distance of 11 from it.
→ These are formed by systematically inverting each of the n bits in the n-bit codeword formed from it. Thus, each of the 2 m legal messages requires n+1 bit patterns dedicated to it.
→ Since the total number of bit patterns is 2^n , We must have (n+1)2^m ≤ 2^n .
→ Using n=m+r, this requirement becomes
= (m+r+1) ≤ 2^r
= 40+6+1 ≤ 2^6
= 47 ≤ 2
r=6
Message size will be 6+40=46