Binary Codes:
We have seen earlier that digital computers use signals that have two distinct values and there exists a direct analogy between binary signals and binary digits. Computers not only manipulate numbers but also other discrete elements of information. The distinct discrete quantities can be represented by a group of binary digits (known as bits). For example, to represent two different quantities uniquely two symbols are sufficient and hence one binary digit (either 0 or 1) will be sufficient to uniquely represent the two symbols. But one bit will not suffice if one has to represent more than two quantities. In those cases more than one bits are required, i.e. the bits have to used repeatedly. For example if we have to give unique codes for three distinct items we need at least 2 bits. With two bits we can have codes 00, 01, 10 and 11. Out of this we can use first three to assign unique codes to three distinct quantities and leave the fourth one unused. In general, an n-bit binary code can be used to represent 2n distinct quantities. Thus group of two bits can represent four distinct quantities through unique symbols 00, 01, 10 & 11. Three bits can be used to represent eight distinct quantities by unique symbols 000, 001, 010, 011, 100, 101, 110 & 111. In other words, to assign unique codes to m distinct items we need at least n bit code such that 2^{n} >= m.
Digital computers use binary codes to represent all kinds of information ranging from numbers to alphabets. Whether we have to input an alphabet, a number or a punctuation symbol; we need to convey it to machine through a unique code for each item. Thus, the instruction to be performed by the CPU and the input data which form the operands of the instruction are represented using a binary code system. A typical machine instruction in a digital computer system could therefore look like a set of 0s and 1s. Many binary codes are used in digital systems. BCD code for representing decimal numbers, ASCII code for information interchange between computer and keyboard, Unicode for use over Internet and Reflected (Gray) code are some commonly studied binary code systems.