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 have
where
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.