codeword but never erase or add them, then the number of errors is the number of positions in which the sent codeword and the received word differ. A code with distance allows the receiver to detect up to transmission errors since changing positions of a codeword can never accidentally yield another codeword. Furthermore, if no more than transmission errors occur, the receiver can uniquely decode the received word to a codeword. This is because every received word has at most one codeword at distance . If more than transmission errors occur, the receiver cannot uniquely decode the received word in general as there might be several possible codewords. One way for the receiver to cope with this situation is to use list decoding, in which the decoder outputs a list of all codewords in a certain radius. Popular notation The notation describes a block code over an alphabet of size , with a block length , message length , and distance . If the block code is a linear block code, then the square brackets in the notation are used to represent that fact. For binary codes with , the index is sometimes dropped. For maximum distance separable codes, the distance is always , but sometimes the precise distance is not known, non-trivial to prove or state, or not needed. In such cases, the -component may be missing. Sometimes, especially for non-block codes, the notation is used for codes that contain codewords of length . For block codes with messages of length over an alphabet of size , this number would be . Examples As mentioned above, there are a vast number of error-correcting codes that are actually block codes. The first error-correcting code was the Hamming(7,4) code, developed by Richard W. Hamming in 1950. This code transforms a message consisting of 4 bits into a codeword of 7 bits by adding 3 parity bits. Hence this code is a block code. It turns out that it is also a linear code and that it has distance 3. In the shorthand notation above, this means that the Hamming(7,4) code is a code. Reed–Solomon codes are a family of codes with and being a prime power. Rank codes are family of codes with . Hadamard codes are a family of codes with and . Error detection and correction properties A codeword could be considered as a point in the -dimension space