Binary and Gray Code Conversion Guide
Binary and Gray Code Conversion Guide
Digital Codes
To illustrate the BCD code, take a decimal number such as 874. Each digit is
changed to its binary equivalent as follows:
8 7 4 Decimal
30
0111 0100 BCD
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
It’s also important to understand that a BCD number is not the same as a straight
binary number. a straight binary code takes the complete decimal number and
represents it in binary; the BCD code converts each decimal digit to binary
individually . To illustrate, take the number 137 and compare its straight binary
and BCD codes.
137(10) = 10001001(2) (Binary)
137(10) = 000100110111 (BCD)
The BCD code requires 12 bits while the straight binary code requires only 8
bits to represent 137. BCD is used in digital machines whenever decimal
information is either applied as inputs or displayed as outputs. Digital voltmeter,
frequency counters, and digital clocks, all use BCD because they display output
information in decimal. BCD is not often used in modern high speed digital
computers for the reason that the BCD code for a given decimal number requires
more bits that the straight binary code and is therefore less efficient. This is
important in digital computers because the number of places in memory where
these bits can be stored is limited.
3 5 9 8 1 7 0 2 4 6 9
0011 0101 1001 1000 0001 0111 0000 0010 0100 0110 1001
10000110 1001010001110000
31
8 6 9 4 7 0
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
2- Gray Code:
The gray code is un-weighted and is not an arithmetic code; that is, there are
no specific weights assigned to the bit positions. The important feature of the Gray
code is that it exhibits only a single bit change from one code number to the next.
Table (2) is a listing of the four bit gray code for decimal numbers 0 through 15.
Notice the single bit change between successive gray code numbers. For instance,
in going from decimal 3 to decimal 4, the gray code changes from 0010 to 0110,
while the binary code changes from 0011 to 0100, a change of three bits. The only
bit change is in the third bit from the right in the gray code; the other remain the
same.
Table (2)
Decimal Binary Gray Decimal Binary Gray
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000
Binary-to-Gray Conversion:
Conversion between binary code and Gray code is sometimes useful. in the
conversion process, the following rules apply:
The most significant bit (left-most) in the gray code is the same as the
corresponding MSB in binary number.
32
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Going from left to right, add each adjacent pair of binary code bits to get
the next gray code bit. Discard carry.
10110 (Binary)
1 (Gray)
Step 2: add the left-most binary code bit to the adjacent one:
1 + 0 110 (Binary)
1 1 (Gray)
1 0 + 1 10 (Binary)
1 1 1 (Gray)
Step 4: add the next adjacent pair and discard the carry:
1 0 1+10 (Binary)
1 1 1 0 (Gray)
Step 5: add the last adjacent pair:
1 0 1 1+0 (Binary)
1 1 1 0 1 (Gray)
Gray-to-Binary Conversion:
33
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
To convert from Gray code to binary, a similar method is used, but there are
some differences. The following rules apply:
The most significant bit (left-most) in the binary code is the same as the
corresponding bit in the Gray code.
Add each binary code bit generated to the gray code bit in the next
adjacent positions. Discard carry.
11011 (Gray)
1 (Binary)
Step 2: add the last binary code bit just generated to the gray code bit in the next
1 1 011 (Gray)
+
1 0 (Binary)
Step 3: add the last binary code bit generated to the next Gray code bit.
1 1 0 11 (Gray)
+
1 0 0 (Binary)
Step 4: add the last binary code bit generated to the next Gray code bit.
1 1 0 1 1 (Gray)
+
1 0 0 1 (Binary)
Step 5: add the last binary code bit generated to the next Gray code bit. discard
carry.
1 1 0 1 1 (Gray)
+
1 0 0 1 0 (Binary)
34
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
1+1+0+0+0+1+1+0
1 0 1 0 0 1 0 1
1 0 1 0 1 1 1 1
1 1 0 0 1 0 1 0
3- Excess-3 Code:
This is a digital code related to BCD that is derived by adding 3 to each
decimal digit and then converting the result of that addition to 4-bit binary. This
code is un-weighted. For instance, the excess-3 code for decimal 2 and 9 are:
2 9
+3 +3
5 (0101) 12 (1100)
35
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
The excess-3 code for each decimal digit is found by the same procedure. the entire
code is shown in Table (3).
Table (3)
1 3 4 3 0
+3 +3 +3 +3 +3
4 6 7 6 3
4- Alphanumeric Code:
36
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
In order to be very useful, a computer must be capable of handling non-
numeric information. In other words, a computer must be able to recognize codes
that represent numbers, letters, and special characters. These codes are classified as
alphanumeric codes. The most common alphanumeric code, known as the
American Standard Code for Information Interchange (ASCII), is used by most
minicomputer and microcomputer manufacturers.
The ASCII is a seven-bit code in which the decimal digits are represented by
the 8421 BCD code preceded by 011. The letters of the alphabet and other symbols
and instructions are represented by other code combinations, shown in Table (4).
For instance, the letter A is represented by 1000001 (4116), the comma by 0101100
(2C16) and the ETX (end of text) by 0000011 (0316).
Table (4)
MSBS
LSBS
000 (0) 001 (1) 010 (2) 011 (3) 100 (4) 101 (5) 110 (6) 111 (7)
0000 NUL DLE SP 0 @ P ` p
0001 SOH DC1 ! 1 A Q a q
0010 STX DC2 “ 2 B R b r
0011 ETX DC3 # 3 C S c s
0100 EOT DC4 $ 4 D T d t
0101 ENQ NAK % 5 E U e u
0110 ACK SYN & 6 F V f v
0111 BEL ETB ‘ 7 G W g w
1000 BS CAN ( 8 H X h x
1001 HT EM ) 9 I Y i y
1010 LF SUB * : J Z j z
1011 VT EXC + ; K [ k {
1100 FF FS , < L \ l
37
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
1101 CR GS - = M ] m }
1110 SO RS . > N n ~
1111 SI US / ? O _ o DEL
Example: determine the codes that are entered from the computer’s keyboard
when the following basic program statement is typed in. also express each in
hexadecimal notation.
20 PRINT “A=”;X
38
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Review Questions:
1. How many bits are required to represents the decimal numbers in the range
from 0 to 999 using straight binary code? Using BCD code?
2. What is the binary weight of each 1 in the following BCD numbers?
(a) 0010 (b) 1000 (c) 0001 (d) 0100
3. Convert the following binary numbers to Gray codes?
(a) 1100 (b) 1010 (c) 11010
4. Convert the following Gray codes to binary?
(a) 1000 (b) 1010 (c) 11101
5. Convert the following decimal numbers to Excess-3 code?
(a) 3 (b) 87 (c) 349
6. Convert decimal 928 to Excess-3?
Boolean algebra:
Boolean algebra is the mathematics of digital systems. It is important that
you understand is principles thoroughly because a basic knowledge of Boolean
algebra is indispensable to the study and analysis of logic circuits. The Boolean
expressions for the previously studied gates are as follows:
NOT Gate: if input is A, the output is A
AND Gate: if inputs are A and B, the output is A.B
39
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
OR Gate : if inputs are A and B, the output is A+B
NAND Gate: if inputs are A and B, the output
A B AB A+AB
is A.B
0 0 0 0
NOR Gate : if inputs are A and B, the output
is A + B
XOR Gate : if inputs are A and B, the output is AB + AB = A + B
XNOR Gate: if inputs are A and B, the output is AB + AB =A • B
1. A+0=A 7. A.A=A
2. A+1=1 8. A. A =0
3. A.0=0 9. A =A
4. A.1=A 10. A+AB=A
6. A+ A =1 12. (A+B)(A+C)=A+BC
40
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
A + AB = A(1 + B) 0 1 0 0
= A.1 = A 1 0 0 1
1 1 1 1
A + AB = ( A + AB ) + AB A B AB A+ AB A+B
= ( AA + AB ) + AB 0 0 0 0 0
= AA + AB + A A + AB 0 1 1 1 1
= ( A + A)( A + B) 1 0 0 1 1
= A+ B 1 1 0 1 1
Equal
DeMorgan’s Theorem:
Two of the most important theorems of Boolean algebra were contributed by
a great mathematician named DeMorgan. DeMorgan’s theorems are extremely
useful in simplifying expressions in which a product of sum of variables is
inverted. The two theorems are:
1- X + Y = X .Y
X Y X +Y X .Y X
X +Y
0 0 1 1 Y
0 1 0 0 ≡
1 0 0 0 X
X .Y
1 1 0 0 Y
2- X .Y = X + Y
41
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
X Y X .Y X +Y X
X .Y
Y
0 0 1 1
0 1 1 1 ≡
1 0 1 1
X
X +Y
1 1 0 0 Y
(a) ( A + B + C ) D (b) AB + CD + EF
( A + B + C)D = ( A + B + C) + D
= A. B. C + D
AB + CD + EF = ( AB) (CD) ( EF )
= ( A + B)(C + D)(E + F )
42
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
A
B
B B+AC
A Y
≡ A
B C
Example:
C Simplify the expression:
ABCB+ A BC + ABC + A BC + ABC
BC ( A + A) + A BC + ABC + A BC
BC.1 + A B(C + C ) + A BC
BC + AB.1 + ABC = BC + B ( A + AC ) = BC + B( A + C ) = BC + AB + BC
A
AB + ABC B
ABC + CDE + BC D B
C X=AB+BCD+AC
AB + ABC + AC D
A
C
A
B
B
C
D X= (A+B)(B+C+A)(A+C)
A
43 C
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
( A + B)( A + B + C )
( A + B + C )(C + D + E )(B + C + D)
( A + B)( A + B + C )( A + C )
(b): ( A + B ) + C = ( A + B )C = ( A + B ) C = AC + BC
* ( A + B + C ) = A + B + C + D D = ( A + B + C + D)( A + B + C + D)
* ( B + C + D) = B + C + D + A A = ( A + B + C + D)( A + B + C + D)
hence : ( A + B + C )(B + C + D)( A + B + C + D) = ( A + B + C + D)( A + B + C + D)
( A + B + C + D)( A + B + C + D)( A + B + C + D)
Example: Determine if the circuit gives XOR, XNOR or neither in the output.
A
44 B
A X
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
X = ( A + B).( A.B)
= ( A + B) + ( A.B)
= AB + AB ≡ XNOR Gate
Example: Determine the Boolean expression for a three-input NOR gate followed
by an inverter.
The expression at the NOR output is ( A + B + C ) , which is then fed through an
inverter to produce:
A
X = ( A + B + C) = A + B + C B X=A+B+C
C
Z = ( A + B)( A + B) B
Z
= AA + AB + BA + B B
= AB + AB
If we compare the resulting circuit with the
original one, we see that both circuits contain
the same number of gates and connections. In A
this case, the simplification process produced B
Z
an equivalent, but not simpler circuit. Also one
could notice that the resulting output is equivalent
45
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
to exclusive NOR gate.
Example: Develop truth table for the expression ABC + ABC + ABC .
There are three variables in the domain, so there are eight possible binary values of
the variables as listed in the left columns of Table (2).
Table (2)
A B C X
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Review Questions:
1. Apply DeMorgan’s theorem to the following expressions:
(d) ( A + BC + CD ) + BC
46
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
2. Simplify the following expressions:
(a) A + AB + ABC Ans : A
(e) AC + AB C Ans : AC
A
C
Z
47
University of Anbar Subject / Digital Techniques
College of Engineering Second Stage / 1st Semester
Dept. of Electrical Engineering (2017 – 2018)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
A B X
0 0 1 B B
AB
0 1 0 X = AB + AB A 1 0
1 0 0
A 0 1
1 1 1 AB
A B C X
0 0 0 1 A BC
A BC 48
ABC