For example, a signal fragment might be represented as 010110 in which case the presence of a pulse is read as 1 and the absence of a pulse as 0. For a variety of reasons, equipment errors can cause a O to be transmitted instead of a 1, or vice versa. As a result, error-detecting codes have been developed to improve data reliability. All such codes are based on transmitting extra bits that can be used to determine whether errors are present and even, for the more sophisticated codes, where the errors are. Transmitting these extra bits, however, means that fewer message-carrying bits can be sent in a given unit of time, and so transmission reliability must be traded against transmission efficiency.
Probability theory plays an important part in weighing the trade-offs.