A family of binary linear perfect error-correcting block codes. They are capable of correcting any single error occurring in the block. Considered as (n, k) block codes, Hamming codes haven = 2m − 1, k = n − mwhere m characterizes the particular code. Where multiple-error-correcting abilities are required, Hamming codes may be generalized into Bose-Chaudhuri-Hocquenghem (BCH) codes. The code was discovered by Richard Hamming in 1950.
n = 2m − 1, k = n − m