Combinational Logic Circuits
Combinational Logic Circuits
The combinational logic circuits are the circuits that contain different types of logic gates. Simply, a
circuit in which different types of logic gates are combined is known as a combinational logic circuit.
The output of the combinational circuit is determined from the present combination of inputs,
regardless of the previous input. The input variables, logic gates, and output variables are the basic
components of the combinational logic circuit. There are different types of combinational logic circuits,
such as Adder, Subtractor, Decoder, Encoder, Multiplexer, and De-multiplexer.
o At any instant of time, the output of the combinational circuits depends only on the present
input terminals.
o The combinational circuit doesn't have any backup or previous memory. The present state of
the circuit is not affected by the previous state of the input.
o The n number of inputs and m number of outputs are possible in combinational logic
circuits.
The 'n' input variable comes from the external source while the 'm' output variable goes to the
external destination. In many applications, the source or destinations are storage registers.
Sequential circuits:-
The sequential circuit is a special type of circuit that has a series of inputs and outputs. The outputs of
the sequential circuits depend on both the combination of present inputs and previous outputs. The
previous output is treated as the present state. So, the sequential circuit contains the combinational
circuit and its memory storage elements. A sequential circuit doesn't need to always contain a
combinational circuit. So, the sequential circuit can contain only the memory element.
Difference between the combinational circuits and sequential circuits are given below:
1) The outputs of the combinational circuit The outputs of the sequential circuits depend on both
depend only on the present inputs. present inputs and present state(previous output).
2) The feedback path is not present in the The feedback path is present in the sequential circuits.
combinational circuit.
3) In combinational circuits, memory elements In the sequential circuit, memory elements play an
are not required. important role and require.
4) The clock signal is not required for The clock signal is required for sequential circuits.
combinational circuits.
5) The combinational circuit is simple to design. It is not simple to design a sequential circuit.
Number System
In a digital system, the system can understand only the optional number system. In these systems, digits
symbols are used to represent different values, depending on the index from which it settled in the
number system.
In simple terms, for representing the information, we use the number system in the digital system.
The digit value in the number system is calculated using:
1. The digit
3. Finally, the base numbers, the total number of digits available in the number system.
Note: When the number system represents a digit from 0 - 9, the base of the number will be 10.
In the digital computer, there are various types of number systems used for representing information.
Generally, a binary number system is used in the digital computers. In this number system, it carries
only two digits, either 0 or 1. There are two types of electronic pulses present in a binary number
system. The first one is the absence of an electronic pulse representing '0'and second one is the
presence of electronic pulse representing '1'. Each digit is known as a bit. A four-bit collection (1101)
is known as a nibble, and a collection of eight bits (11001010) is known as a byte. The location of a
digit in a binary number represents a specific power of the base (2) of the number system.
Characteristics:
4. The position of the last digit represents the x power of the base(2). Example: 2x, where x
represents the last position, i.e., 1
Examples:
The position in the decimal number system specifies the power of the base (10). The 0 is the minimum
value of the digit, and 9 is the maximum value of the digit. For example, the decimal number 2541
consist of the digit 1 in the unit position, 4 in the tens position, 5 in the hundreds position, and 2 in the
thousand positions and the value will be written as:
2000 + 500 + 40 + 1
2541
The octal number system has base 8(means it has only eight digits from 0 to 7). There are only eight
possible digit values to represent a number. With the help of only three bits, an octal number is
represented. Each set of bits has a distinct value between 0 and 7.
Characteristics:
4. The position of the last digit represents the x power of the base(8). Example: 8x, where x
represents the last position, i.e., 1
Number Octal Number
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Examples:
Characteristics:
4. In hexadecimal number, the position of a digit represents the 0 power of the base(16).
Example: 160
5. In hexadecimal number, the position of the last digit represents the x power of the base(16).
Example: 16x, where x represents the last position, i.e., 1
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Examples:
The process of converting binary to decimal is quite simple. The process starts from multiplying the
bits of binary number with its corresponding positional weights. And lastly, we add all those products.
Let's take an example to understand how the conversion is done from binary to decimal.
Example 1: (10110.001)2
We multiplied each bit of (10110.001)2 with its respective positional weight, and last we add the
products of all the bits with its weight.
(10110.001)2=(1×24)+(0×23)+(1×22)+(1×21)+(0×20)+(0×2-1)+(0×2-2)+(1×2-3)
(10110.001)2=(1×16)+(0×8)+(1×4)+(1×2)+(0×1)+(0×1⁄2)+(0×1⁄4)+(1×1⁄8)
(10110.001)2=16+0+4+2+0+0+0+0.125
(10110.001)2=(22.125 )10
Binary to Octal Conversion
The base numbers of binary and octal are 2 and 8, respectively. In a binary number, the pair of three
bits is equal to one octal digit. There are only two steps to convert a binary number into an octal
number which are as follows:
1. In the first step, we have to make the pairs of three bits on both sides of the binary point. If
there will be one or two bits left in a pair of three bits pair, we add the required number of
zeros on extreme sides.
2. In the second step, we write the octal digits corresponding to each pair.
Example 1: (111110101011.0011)2
1. Firstly, we make pairs of three bits on both sides of the binary point.
On the right side of the binary point, the last pair has only one bit. To make it a complete pair of three
bits, we added two zeros on the extreme side.
(111110101011.0011)2=(7653.14)8
The base numbers of binary and hexadecimal are 2 and 16, respectively. In a binary number, the pair
of four bits is equal to one hexadecimal digit. There are also only two steps to convert a binary number
into a hexadecimal number which are as follows:
1. In the first step, we have to make the pairs of four bits on both sides of the binary point. If
there will be one, two, or three bits left in a pair of four bits pair, we add the required number
of zeros on extreme sides.
2. In the second step, we write the hexadecimal digits corresponding to each pair.
Example 1: (10110101011.0011)2
1. Firstly, we make pairs of four bits on both sides of the binary point.
On the left side of the binary point, the first pair has three bits. To make it a complete pair of four bits,
add one zero on the extreme side.
(011110101011.0011)2=(7AB.3)16
The decimal number can be an integer or floating-point integer. When the decimal number is a
floating-point integer, then we convert both part (integer and fractional) of the decimal number in the
isolated form(individually). There are the following steps that are used to convert the decimal number
into a similar number of any base 'r'.
1. In the first step, we perform the division operation on integer and successive part with base 'r'.
We will list down all the remainders till the quotient is zero. Then we find out the remainders
in reverse order for getting the integer part of the equivalent number of base 'r'. In this, the
least and most significant digits are denoted by the first and the last remainders.
2. In the next step, the multiplication operation is done with base 'r' of the fractional and
successive fraction. The carries are noted until the result is zero or when the required number
of the equivalent digit is obtained. For getting the fractional part of the equivalent number of
base 'r', the normal sequence of carrying is considered.
For converting decimal to binary, there are two steps required to perform, which are as follows:
1. In the first step, we perform the division operation on the integer and the successive quotient
with the base of binary(2).
2. Next, we perform the multiplication on the integer and the successive quotient with the base
of binary(2).
Example 1: (152.25)10
Step 1:
Divide the number 152 and its successive quotients with base 2.
152/2 76 0 (LSB)
76/2 38 0
38/2 19 0
19/2 9 1
9/2 4 1
4/2 2 0
2/2 1 0
1/2 0 1(MSB)
(152)10=(10011000)2
Step 2:
Now, perform the multiplication of 0.27 and successive fraction with base 2.
0.25×2 0.50 0
0.50×2 0 1
(0.25)10=(.01)2
For converting decimal to octal, there are two steps required to perform, which are as follows:
1. In the first step, we perform the division operation on the integer and the successive quotient
with the base of octal(8).
2. Next, we perform the multiplication on the integer and the successive quotient with the base
of octal(8).
Example 1: (152.25)10
Step 1:
Divide the number 152 and its successive quotients with base 8.
152/8 19 0
19/8 2 3
2/8 0 2
(152)10=(230)8
Step 2:
Now perform the multiplication of 0.25 and successive fraction with base 8.
0.25×8 0 2
(0.25)10=(2)8
For converting decimal to hexadecimal, there are two steps required to perform, which are as follows:
1. In the first step, we perform the division operation on the integer and the successive quotient
with the base of hexadecimal (16).
2. Next, we perform the multiplication on the integer and the successive quotient with the base
of hexadecimal (16).
Example 1: (152.25)10
Step 1:
Divide the number 152 and its successive quotients with base 8.
152/16 9 8
9/16 0 9
(152)10=(98)16
Step 2:
Now perform the multiplication of 0.25 and successive fraction with base 16.
0.25×16 0 4
(0.25)10=(4)16
Like binary and decimal, the octal number can also be converted into other number systems. The
process of converting octal to decimal differs from the remaining one. Let's start understanding how
conversion is done.
The process of converting octal to decimal is the same as binary to decimal. The process starts from
multiplying the digits of octal numbers with its corresponding positional weights. And lastly, we add
all those products.
Let's take an example to understand how the conversion is done from octal to decimal.
Example 1: (152.25)8
Step 1:
We multiply each digit of 152.25 with its respective positional weight, and last we add the products of
all the bits with its weight.
(152.25)8=(1×82)+(5×81)+(2×80)+(2×8-1)+(5×8-2)
(152.25)8=64+40+2+(2×1⁄8)+(5×1⁄64)
(152.25)8=64+40+2+0.25+0.078125
(152.25)8=106.328125
The process of converting octal to binary is the reverse process of binary to octal. We write the three
bits binary code of each octal number digit.
Example 1: (152.25)8
(152.25)8=(001101010.010101)2
For converting octal to hexadecimal, there are two steps required to perform, which are as follows:
1. In the first step, we will find the binary equivalent of number 25.
2. Next, we have to make the pairs of four bits on both sides of the binary point. If there will be
one, two, or three bits left in a pair of four bits pair, we add the required number of zeros on
extreme sides and write the hexadecimal digits corresponding to each pair.
Example 1: (152.25)8
Step 1:
(152.25)8=(001101010.010101)2
Step 2:
1. Now, we make pairs of four bits on both sides of the binary point.
0 0110 1010.0101 01
On the left side of the binary point, the first pair has only one digit, and on the right side, the last pair
has only two-digit. To make them complete pairs of four bits, add zeros on extreme sides.
The process of converting hexadecimal to decimal is the same as binary to decimal. The process starts
from multiplying the digits of hexadecimal numbers with its corresponding positional weights. And
lastly, we add all those products.
Let's take an example to understand how the conversion is done from hexadecimal to decimal.
Example 1: (152A.25)16
Step 1:
We multiply each digit of 152A.25 with its respective positional weight, and last we add the products
of all the bits with its weight.
(152A.25)16=(1×163)+(5×162)+(2×161)+(A×160)+(2×16-1)+(5×16-2)
(152A.25)16=(1×4096)+(5×256)+(2×16)+(10×1)+(2×16-1)+(5×16-2)
(152A.25)16=4096+1280+32+10+(2×1⁄16)+(5×1⁄256)
(152A.25)16=5418+0.125+0.125
(152A.25)16=5418.14453125
The process of converting hexadecimal to binary is the reverse process of binary to hexadecimal. We
write the four bits binary code of each hexadecimal number digit.
Example 1: (152A.25)16
For converting hexadecimal to octal, there are two steps required to perform, which are as follows:
1. In the first step, we will find the binary equivalent of the hexadecimal number.
2. Next, we have to make the pairs of three bits on both sides of the binary point. If there will be
one or two bits left in a pair of three bits pair, we add the required number of zeros on extreme
sides and write the octal digits corresponding to each pair.
Example 1: (152A.25)16
Step 1:
3. Then, we make pairs of three bits on both sides of the binary point.
(001010100101010.001001010)2=(12452.112)8
Fixed-Point Representation −
This representation has fixed number of bits for integer part and for fractional
part. For example, if given fixed-point representation is IIII.FFFF, then you can
store minimum value is 0000.0001 and maximum value is 9999.9999. There
are three parts of a fixed-point number representation: the sign field, integer
field, and fractional field.
Floating-Point Representation −
This representation does not reserve a specific number of bits for the integer
part or the fractional part. Instead it reserves a certain number of bits for the
number (called the mantissa or significand) and a certain number of bits to
say where within that number the decimal place sits (called the exponent).
The floating number representation of a number has two part: the first part
represents a signed fixed point number called mantissa. The second part of
designates the position of the decimal (or binary) point and is called the
exponent. The fixed point mantissa may be fraction or an integer. Floating -
point is always interpreted to represent a number in the following form: Mxre.
Only the mantissa m and the exponent e are physically represented in the
register (including their sign). A floating-point binary number is represented
in a similar manner except that is uses base 2 for the exponent. A floating-
point number is said to be normalized if the most significant digit of the
mantissa is 1.
The floating point representation is more flexible. Any non-zero number can
be represented in the normalized form of ±(1.b1b2b3 ...)2x2n This is
normalized form of a number x.
Example −Suppose number is using 32-bit format: the 1 bit sign bit, 8 bits for
signed exponent, and 23 bits for the fractional part. The leading bit 1 is not
stored (as it is always 1 for a normalized number) and is referred to as a “hidden
bit”.
Then −53.5 is normalized as -53.5=(-110101.1)2=(-1.101011)x25 , which is
represented as following below,
Note that 8-bit exponent field is used to store integer exponents -126 ≤ n ≤
127.
The gap between 1 and the next normalized floating-point number is known
as machine epsilon. the gap is (1+2-23)-1=2-23for above example, but this is
same as the smallest positive floating-point number because of non-uniform
spacing unlike in the fixed-point scenario.
Note that non-terminating binary numbers can be represented in floating point
representation, e.g., 1/3 = (0.010101 ...)2 cannot be a floating-point number
as its binary representation is non-terminating.
IEEE Floating point Number Representation −
IEEE (Institute of Electrical and Electronics Engineers) has standardized
Floating-Point Representation as following diagram.
• Half Precision (16 bit): 1 sign bit, 5 bit exponent, and 10 bit mantissa
• Single Precision (32 bit): 1 sign bit, 8 bit exponent, and 23 bit mantissa
• Double Precision (64 bit): 1 sign bit, 11 bit exponent, and 52 bit mantissa
• Quadruple Precision (128 bit): 1 sign bit, 15 bit exponent, and 112 bit mantissa