
related topics 
{math, number, function} 
{system, computer, user} 
{style, bgcolor, rowspan} 
{rate, high, increase} 

In telecommunication, a Hamming code is a linear errorcorrecting code named after its inventor, Richard Hamming. Hamming codes can detect up to two simultaneous bit errors, and correct singlebit errors; thus, reliable communication is possible when the Hamming distance between the transmitted and received bit patterns is less than or equal to one. By contrast, the simple parity code cannot correct errors, and can only detect an odd number of errors.
In mathematical terms, Hamming codes are a class of binary linear codes. For each integer there is a code with m parity bits and 2^{m} − m − 1 data bits. The paritycheck matrix of a Hamming code is constructed by listing all columns of length m that are pairwise independent. Hamming codes are an example of perfect codes, codes that exactly match the theoretical upper bound on the number of distinct code words for a given number of bits and ability to correct errors.
Because of the simplicity of Hamming codes, they are widely used in computer memory (RAM). In particular, a singleerrorcorrecting and doubleerrordetecting variant commonly referred to as SECDED.
Contents
History
Hamming worked at Bell Labs in the 1940s on the Bell Model V computer, an electromechanical relaybased machine with cycle times in seconds. Input was fed in on punched cards, which would invariably have read errors. During weekdays, special code would find errors and flash lights so the operators could correct the problem. During afterhours periods and on weekends, when there were no operators, the machine simply moved on to the next job.
Full article ▸


related documents 
JavaScript 
Dylan (programming language) 
REXX 
Multiplication algorithm 
Taylor series 
Support vector machine 
Uniform space 
Permutation 
Sorting algorithm 
Subset sum problem 
Stochastic process 
Truth table 
Lp space 
AWK 
Fermat number 
Halting problem 
Reference counting 
Lie algebra 
Busy beaver 
UTF8 
Polyomino 
Control flow 
Relational database 
Vacuous truth 
BCH code 
Ackermann function 
Basis (linear algebra) 
Fundamental theorem of algebra 
Dual space 
Euler's formula 
