Binary Representations in Digital Logic
Last Updated :
08 Apr, 2025
Binary representation is the method of expressing numbers using binary digits (bits). In digital logic, binary representations are important as they are the foundation for all computations and data processing in computers.
- Binary numbers form the backbone of digital circuits and systems.
- Each binary digit represents a power of 2, enabling efficient computation and storage.
- Binary representation simplifies the implementation of logic gates and operations in digital systems.
- It allows for the accurate and reliable representation of data in electronic devices.
1. Binary Representation of Unsigned Numbers
It is a way to represent positive numbers using only 0s and 1s. It is a system where numbers are expressed using only their magnitude, with no sign bit. In this system, all numbers are treated as positive, including zero.
Features of Unsigned Representation:
- Each bit in an unsigned binary number represents a power of 2.
- The rightmost bit is the least significant bit (LSB) and the leftmost bit is the most significant bit (MSB).
- The value is determined by summing the powers of 2 for each ‘1’ bit. For example, (0010)2 = 21 = 2
- An n-bit unsigned binary can represent numbers from 0 to 2ⁿ – 1. For example, an 8-bit unsigned binary can represent numbers from 0 to 255.
Limitations of Unsigned Representation:
- Unsigned binary represents only positive values and zero, limiting its use in signed systems.
- Its range is restricted by the number of bits (e.g., 0 to 255 for 8 bits).
- Overflow occurs when the value exceeds the maximum limit, causing errors (e.g., 255 + 1 = 0 in 8-bit).
- Operations requiring signed values need conversion to signed binary for efficiency.
Example: 4-Bit Unsigned Binary
Binary
|
Decimal Calculation
|
Value
|
0000
|
(0×23) + (0×22) + (0×21) + (0×20)
|
0
|
0001
|
(0×23) + (0×22) + (0×21) + (1×20)
|
1
|
1010
|
(1×23) + (0×22) + (1×21) + (0×20)
|
10
|
1111
|
(1×23) + (1×22) + (1×21) + (1×20)
|
15
|
2. Binary Representation of Signed Numbers
Binary Representation of Signed Numbers representation allows both positive and negative numbers. There are various signed binary representations.
Sign-Magnitude
In the sign bit method, the leftmost bit (MSB) is used to represent the sign of the number. A ‘0’ in the MSB indicates a positive number and a ‘1’ indicates a negative number. The remaining bits represent the magnitude of the number in binary form. The range of values in an n-bit system is from -2n-1 -1 to 2n-1 – 1.
For example, in an 8-bit signed binary system:
01000101 represents +69 in decimal (MSB is 0, so the number is positive).
11000101 represents -69 in decimal (MSB is 1, so the number is negative).
Limitations:
- It has an unequal range for positive and negative numbers.
- The representation of zero is ambiguous; it can be both 00000000 and 10000000.
- Arithmetic operations like addition and subtraction are more complex compared to unsigned binary.
- It wastes one bit for the sign, reducing the total available bits for magnitude.
- Overflow handling is less efficient compared to other methods like Two’s Complement.
One’s Complement
In the 1’s complement method, negative numbers are represented by flipping all the bits of the corresponding positive number. The leftmost bit (MSB) indicates the sign. A ‘0’ in the MSB represents a positive number and a ‘1’ represents a negative number.
For example, in an 8-bit system:
00000101
represents +5 in decimal.
11111010
represents -5 in decimal (flip all bits of 00000101
).
Limitations:
- The 1’s complement method has separate representations for +0 (00000000) and -0 (11111111), wasting one usable number code.
- It requires an end-around carry for additions and extra correction steps after operations, making arithmetic more complex.
- Overflow detection is difficult and requires additional logic circuits.
- 1’s complement is not used in modern processors and has been replaced by the more efficient two’s complement.
Two’s complement
The 2’s complement method is used to represent both positive and negative numbers in binary. To find the 2’s complement of a number, invert all the bits of the binary number and add 1 to the result. The 2’s complement method eliminates the need for separate zero representations and simplifies arithmetic operations like addition and subtraction. The range of values in an n-bit system is from -2n-1 to 2n-1 – 1. It is widely used in modern processors due to its efficiency and ease of operation.
For example, in an 8-bit system:
00000101 represents +5 in decimal.
11111011 represents -5 in decimal (invert 00000101 to get 11111010, then add 1 to get 11111011).
Limitations:
- The range of representable values is asymmetric, with one more negative value than positive, e.g., for 8-bit the range is -128 to +127.
- Overflow occurs silently without warning, requiring explicit checks in programming.
- Converting 2’s complement to decimal requires a sign check first, making it more complex than unsigned binary conversion.
- Hardware implementation needs adder circuits to handle the sign bit, which is slightly more complex than unsigned operations.
Note: Despite these limitations two’s complement remains the universal standard due to its efficient arithmetic operations and single zero representation. Modern processors include dedicated circuits to handle these limitations effectively.
3. Floating-Point Representation (IEEE 754 standard)
IEEE 754 is the most widely used standard for representing floating-point numbers in computers. It uses three components: the sign bit, the exponent and the fraction (mantissa). These components allow for the representation of real numbers with a large range of values.
32-bit Single Precision Format
The single precision format consists of 32 bits and is divided as follows:
- 1 bit for the sign (S).
- 8 bits for the exponent (E).
- 23 bits for the mantissa (M).
In this format, the number is represented as:
(-1)S × ( 1 + M) × 2E-127
64-bit Double Precision Format
The double precision format consists of 64 bits and is divided as follows:
- 1 bit for the sign (S).
- 11 bits for the exponent (E).
- 52 bits for the mantissa (M).
The number is represented as:
(-1)S × ( 1 + M) × 2E-1023
Example (32-bit Single Precision): The number -13.25 in binary is represented as:
Sign bit: 1 (negative)
Exponent: 10000001 (8 in decimal)
Mantissa: 10101000000000000000000
Final representation: 1 10000001 10101000000000000000000
Features:
- The leftmost bit indicates the number’s sign (0 for positive, 1 for negative).
- Exponent determines the range of the number. The exponent is stored with a bias to handle both positive and negative exponents.
- Mantissa represents the significant digits of the number. It’s normalized to maximize precision.
- It can represent very large and very small numbers.
- It provides better precision compared to fixed-point representation.
Limitations:
- Limited precision may result in rounding errors, especially for very large or very small numbers.
- The representation can’t handle numbers beyond its range, leading to overflow or underflow.
- Some decimal numbers cannot be exactly represented, causing minor inaccuracies.
- Floating-point arithmetic is slower than integer arithmetic due to the need for normalization and rounding.
4. Gray Code Binary Representation
Gray code is a binary numeral system in which two successive values differ by only one bit. Unlike the standard binary system, where multiple bits change when counting from one number to the next, Gray code ensures that only one bit changes at a time. This feature makes Gray code especially useful in reducing errors that may occur in digital systems, particularly when transitioning from one value to another. It is commonly used in applications like rotary encoders, analog-to-digital conversions and digital-to-analog conversions where small changes are needed.
Working of Gray Code:
To convert a binary number to Gray code:
- The most significant bit (MSB) of the binary number is copied as the MSB of the Gray code.
- Each subsequent bit in the Gray code is obtained by XORing the corresponding binary bit with the previous binary bit.
Example: To convert the binary number 011 to Gray code:
Start with the MSB: 0 (the same for both binary and Gray).
XOR the next bit (1) with the previous bit (0): 0 XOR 1 = 1, so the second bit of Gray code is 1.
XOR the final bit (1) with the previous bit (1): 1 XOR 1 = 0, so the last bit of Gray code is 0.
Thus, the binary number 011 converts to Gray code 010.
3-bit Gray Codes:
Decimal
|
Binary
|
Gray Code
|
0
|
000
|
000
|
1
|
001
|
001
|
2
|
010
|
011
|
3
|
011
|
010
|
4
|
100
|
110
|
5
|
101
|
111
|
6
|
110
|
101
|
7
|
111
|
100
|
Features:
- Only one bit changes between successive numbers, reducing errors during transitions.
- Useful in systems where bit errors can lead to incorrect results, such as rotary encoders.
- Easy to convert between binary and Gray code using simple rules.
- Efficient for representing values where small transitions are important.
Limitations:
- Performing arithmetic operations such as addition and subtraction is more complex compared to binary.
- Requires additional bits for representation when compared to standard binary.
- Gray code is not intuitive for humans to interpret without conversion to standard binary.
- Primarily used in specialized applications like encoding, not for general-purpose computing.
5. Binary-Coded Decimal (BCD) Representation
Binary-Coded Decimal (BCD) is a system for representing decimal numbers in binary form. In this system, each decimal digit is encoded as a 4-bit binary number. Each of the decimal digits, from 0 to 9, is assigned a unique 4-bit binary code, ensuring that decimal values are directly mapped into binary representations. BCD is often used in applications where precision in decimal representation is required, such as in financial systems, digital clocks and calculators.
Working:
In BCD, each decimal digit is individually represented by a 4-bit binary number. For example:
- The decimal digit
0
is represented by 0000
in binary.
- The decimal digit
1
is represented by 0001
in binary.
- The decimal digit
2
is represented by 0010
in binary.
- This continues up to the decimal digit
9
, which is represented by 1001
in binary.
Example: To represent decimal number 259 in BCD:
Decimal 2
= 0010
(4-bit binary for 2)
Decimal 5
= 0101
(4-bit binary for 5)
Decimal 9
= 1001
(4-bit binary for 9)
Therefore, the decimal number 259 is represented as: 0010 0101 1001 in BCD. Each of the digits (2, 5 and 9) is represented as a separate 4-bit binary value. The length of the BCD representation grows with the number of digits in the decimal number.
Features:
- Each decimal digit is represented as a separate 4-bit binary number, simplifying conversion between decimal and binary.
- Converting between decimal and BCD is straightforward, with each decimal digit converted to its 4-bit binary equivalent.
- BCD is used when decimal precision is essential, such as in financial calculations or digital clocks.
- It avoids rounding errors common in floating-point systems.
- It is widely used in systems like calculators and digital displays, as it closely matches human-readable decimal numbers.
Limitations:
- BCD requires 4 bits per decimal digit, making it less efficient than binary (e.g., 12 bits for a 3-digit number vs 8 bits in binary).
- Arithmetic operations are more complex in BCD as each digit must be handled separately.
- BCD can only represent decimal values and larger numbers require more memory and computation.
- Operations like addition and subtraction need special handling for carry and borrow, complicating hardware design.
- BCD is inefficient for large numbers or general-purpose computing where exact decimal representation is not needed.
6. Excess 3 Code Representation
Excess-3 (also known as XS-3) is a binary code used to represent decimal numbers. It is a form of Binary-Coded Decimal (BCD) where each decimal digit is represented by its 4-bit binary equivalent, but with an offset of 3 added to the binary value. This shift by 3 ensures that all the values are positive and avoids the need for negative digits, providing certain advantages in arithmetic operations. The main idea behind Excess-3 is to simplify arithmetic operations such as addition and subtraction and to ensure that all the digits are represented by a positive 4-bit value, thus making it easier for digital circuits to process them.
Working:
To convert a decimal digit into Excess-3:
- Take the 4-bit binary representation of the decimal digit.
- Add 3 (which in binary is
0011
) to the 4-bit binary value.
Example: Excess 3 code for decimal number 4 is,
The binary equivalent of decimal 4
is 0100
.
Add 3
(which is 0011
) to 0100
: 0100
+ 0011
= 0111
.
Therefore, the Excess-3 code for decimal 4
is 0111
.
Features of Excess-3 Code:
- Excess-3 avoids negative numbers by shifting values, ensuring positive digits.
- Adding or subtracting BCD digits is easier due to the offset of 3 simplifying carry-over.
- Conversion between binary-coded decimal and regular binary is straightforward in Excess-3.
- Excess-3 provides error detection by ensuring only valid digits (0-9) are used.
Limitations of Excess-3 Code:
- Excess-3 requires 4 bits per decimal digit plus an offset, leading to inefficient space usage.
- Its range is limited to decimal digits 0-9 and cannot represent other values without extra encoding.
- Some operations are simplified, but others, like subtraction, need adjustments due to its non-binary nature.
- Excess-3 is less common in modern systems, with more efficient methods like binary and two’s complement preferred.
Similar Reads
Non-binary Counter in Digital Logic
A counter is a circuit that counts the number of occurrences of an input. The circuit consists of flip-flops which along with combinational elements are used for generation of control signals. If M = Total number of states, and n = Total number of flip-flop Then, M <= 2n If M = 2n ; Binary counte
2 min read
Serial Binary Adder in Digital Logic
Serial binary adder is a combinational logic circuit that performs the addition of two binary numbers in serial form. Serial binary adder performs bit by bit addition. Two shift registers are used to store the binary numbers that are to be added. A single full adder is used to add one pair of bits a
2 min read
Representation of Negative Binary Numbers
In computer systems, binary numbers use only two symbols: 0 and 1. Unlike decimal numbers, binary numbers cannot include a plus (+) or minus (-) symbol directly to denote positive or negative values. Instead, negative binary numbers are represented using specific methods that incorporate a special b
3 min read
Adders and Subtractors in Digital Logic
Subtraction of two binary numbers can be accomplished by adding 2's complement of the subtrahend to the minuend and disregarding the final carry if any. If the MSB bit in the result of addition is a '0'. then the result of addition is the correct answer. If the MSB bit is a '1'. , this implies that
4 min read
Binary Decoder in Digital Logic
A binary decoder is a digital circuit that converts a binary code into a set of outputs. The binary code represents the position of the desired output and is used to select the specific output that is active. Binary decoders are the inverse of encoders and are commonly used in digital systems to con
7 min read
Digital Logic Design - Quiz Questions
Digital Logic Design is an important part in the field of Electrical and Electronics Engineering. Mastering this subject requires not only good theory knowledge but also learning practical applications. This Digital Logic Design Quiz is designed to test your fundamental understanding of Digital Logi
15+ min read
Array Multiplier in Digital Logic
An array multiplier is a digital combinational circuit used for multiplying two binary numbers by employing an array of full adders and half adders. This array is used for the nearly simultaneous addition of the various product terms involved. To form the various product terms, an array of AND gates
3 min read
Synchronous Sequential Circuits in Digital Logic
Synchronous sequential circuits are digital circuits that use clock signals to determine the timing of their operations. They are commonly used in digital systems to implement timers, counters, and memory elements. What is Sequential Circuit?A sequential circuit is a digital circuit, whose output de
5 min read
Representation of Boolean Functions
Boolean functions are expressions involving Boolean variables and operators, such as AND, OR, and NOT. These functions are fundamental in digital logic design, computer science, and engineering. Table of Content What are Boolean Functions?Definition of Boolean FunctionsRepresentation of Boolean Func
10 min read
Half Subtractor in Digital Logic
A half subtractor is a digital logic circuit that performs the binary subtraction of two single-bit binary numbers. It has two inputs, A and B, and two outputs, Difference and Borrow. The Difference output represents the result of subtracting B from A, while the Borrow output indicates whether a bor
4 min read