An important family of binary linear error-correcting block codes. They are reasonably efficient and have reasonably good error-correcting abilities, but their importance lies in their ease of encoding (by means of shift registers) and of decoding. They can be regarded as a generalization of Hamming codes, and as a special case of Reed–Solomon codes. BCH codes can be arranged to be cyclic.