Chapter 6 - Computer Encoding System
Chapter 6 - Computer Encoding System
2
Introduction
◦ Computer is a very useful digital device, whereby it assists human
being in performing lots of complicated tasks (example: calculating
monthly expenses, generating assignment report)
◦ Apart from numerical values, computing devices also handle textual
data comprising characters. The character set includes letters in
alphabets (a-z, A-Z), digits (0-9), special symbols (+ - ! %.....) and
non-printable characters (example: backspace)
◦ As mentioned in earlier chapter, a computer can only understand
two distinct types of data: on (1) and off (0) – binary numbers
3
Introduction (Cont.)
◦ A computer is a collection of on/off switches (transistor) located in
the CPU. At a physical level, the 0s and 1s are stored in the central
processing unit of a computer system using transistors
◦ Binary information is also transmitted using magnetic properties;
the two different types of polarities are used to represent zeros and
ones (so that data can be saved inside a magnetic storage media)
◦ No matter where the data is stored, all digital data (either numbers
or characters) must be represented at the most fundamental level --
binary numbers, consists of zeros and ones
4
Introduction (Cont.)
◦ You have learnt how to convert numbers into their binary
equivalent in chapter 1 and 2
◦ The problem is, how do we represent texts (such as “Hello!!”) in
binary forms so that it can be processed by the computer?
◦ The same logic used to represent numbers can be used to represent
text
5
Introduction (Cont.)
◦ By the late 1950s, computers were getting more common, and they
started to communicate with each others
◦ There was a pressing need for a standard way to represent textual
data, so that it could be understood by different models and brands
of computers during data transmission
◦ It can be accomplished with the existence of computer encoding
system
6
Types of Computer Encoding System
◦Five common types of computer encoding system are:
ASCII
Unicode
EBCDIC
BCD
Gray Code
7
ASCII
◦ Stands for American Standard Code for Information Interchange
◦ Published in 1960s by ANSI (American National Standard Institute)
◦ One of the earliest character coding scheme, developed from
telegraphic codes
◦ Most widely used coding scheme for personal computers (except
IBM Mainframe Computers)
8
ASCII (Cont.)
◦ It was originally designed as a 7-bit code
Can represent 27 = 128 characters
8th bit will act as the parity bit (also called a check bit) to make sure
that data are transmitted correctly from sending device to receiving
device
◦ It has then been extended to 8-bit code to better utilize the 8-bit
computer memory organization
Can represent 28 = 256 characters
Extended 128 unique codes are used to represent graphic symbols
Requires a ninth bit for parity checking
9
ASCII (Cont.)
◦ ASCII characters can be split into the following sections by referring
to their ASCII decimal value:
0 – 31: Control characters
32 – 127 : Standard alphanumeric characters we work with everyday
128 – 255 : Special symbols, non-standard characters (extended ASCII
characters)
10
11
ASCII - Control Characters (Cont.)
12
13
ASCII – Standard Characters (Cont.)
14
ASCII – Standard Characters (Cont.)
15
16
ASCII – Extended Characters (Cont.)
17
Unicode
◦ Computers are largely invented in English-speaking countries
(Britain and US). However, there is a whole world out there (Japan,
Korea, China, India etc) and they are also digitalized now
◦ This raises a problem with current ASCII encoding system as it is
not sufficient to represent alphabets of other languages
◦ Therefore, Unification Code (or Unicode) has been introduced in
1980s to unify all of the worlds’ character sets into a single large
character set, known as Universal Character Set (UCS)
18
Unicode (Cont.)
◦ Developed and maintained by a non-profit organization, called the
Unicode ® Consortium
◦ Started out by using 16-bit (2-Byte) code, therefore it is also called
UCS - 2 (Universal Character Set – 2 Bytes)
◦ Allows more than 65, 000 distinct characters (216 combinations ) to
be represented
◦ It is backward compatible with the 7-bit ASCII which makes the first
128 characters in Unicode to be the same as ASCII
19
Unicode (Cont.)
◦ Has three encoding forms: UTF-8, UTF-16 and UTF-32
◦ It has been adopted by many industries, such as Apple, HP, IBM,
Microsoft, Oracle… etc.
◦ It is capable to support many operating systems and web browser
◦ Besides that, it works on any computer language, platforms and
programs
20
Unicode (Cont.)
◦ The Universal Character Set is coded in terms of integer values, which are
referred to as Unicode Scalar Values (USVs)
◦ Unicode code points are represented in hexadecimal notation with a
minimum four digits and preceded with “U+”
◦ Example:
U+0061 LATIN SMALL LETTER A
U+0061 code point
0061 USV
LATIN SMALL LETTER A name of character, written entirely in uppercase
21
Unicode (Cont.)
◦ In the original design of Unicode, all
characters were to have code points
in the range of U+0000 to U+FFFF
22
EBCDIC
◦ Stands for Extended Binary Coded Decimal Interchange Code
◦ First used on the IBM 360 computers, which was presented to the
market in 1980s
◦ Generally found on IBM mainframe computers or in systems which
interact with them
◦ Expanded from IBM 6-bit code, known as BCDIC (Binary Coded
Decimal Interchange Code)
◦ Represents character by using 8-bit code, it is possible to form 256
different bits combinations (hence, can represent 256 different
characters) 23
EBCDIC (Cont.)
◦ EBCDIC code is shown in “zone-digit” form
◦ The first nibble (four bits) is called the zone which represents the
category of the character, while the last nibble is called the digit and it
identifies the specific character.
◦ Example (refer to EBCDIC table 1):
Zone bits 1100 is used for alphabetic characters A – I
Zone bits 1101 is used for characters J – R
Zone bits 1110 is used for character S – Z
Zone bits 1111 is used to represent decimal digits
24
EBCDIC Table (1)
25
EBCDIC Table (1) (Cont.)
26
EBCDIC (Cont.)
◦ EBCDIC characters set consists of four main blocks (refer to EBCDIC
table 2):
0000 0000 to 0011 1111 – control characters (wider range of control
characters than ASCII)
0100 0000 to 0111 1111 – punctuation marks
1000 0000 to 1011 1111 – lowercase characters
1100 0000 to 1111 1111 – uppercase characters and numbers
27
EBCDIC Table (2)
28
EBCDIC (Cont.)
◦ Even though both EBCDIC and ASCII encoding system represent
characters by using 8-bits code, same character will not share the
same combination of 8-bit code for both EBCDIC and ASCII
◦ For example, let's look at the characters “DP3” in both EBCDIC and
ASCII
Character
D P 3
Encoding system
ASCII 0100 0100 0101 0000 0011 0011
EBCDIC 1100 0100 1101 0111 1111 0011
29
BCD
◦ In electronic systems, binary-coded decimal (BCD) is a method for
representing decimal numbers in which each decimal digit is
represented by 4 binary digits
◦ Advantages:
This makes it relatively easy for the system to convert the numeric
representation for printing or display purposes (especially in digital
clocks, digital thermometers, and other electronic devices with seven-
segment display)
Speeds up decimal calculations
30
BCD (Cont.)
◦ Disadvantages:
representing decimal numbers in this way takes up more space in
memory than using a more conventional binary representation
The circuitry required to carry out calculations also tends to be more
complex
31
BCD (Cont.)
Decimal Natural Binary Coded
◦ BCD code is also known as number Binary Decimal(BCD)
8421 code because each 0 0000 0000
1 0001 0001
decimal digit (0-9) is 2 0010 0010
represented with 4-bit code 3 0011 0011
Decimal digit 3 5
2. 35 BCD 0011 0101
Decimal digit 9 8
3. 98
BCD 1001 1000
Decimal digit 1 7 0
4. 170
BCD 0001 0111 0000
Decimal digit 2 4 6 9
5. 2469
BCD 0010 0100 0110 1001
33
BCD (Cont.)
◦ It is equally easy to determine a decimal number from a BCD
number
◦ Start at the LSB and break the code into groups of 4-bit
◦ Then identify the appropriate decimal digit represented by each 4-
bit group
34
BCD (Cont.)
◦ Example 2: Convert each of the following BCD codes to decimal number
BCD 1000 0110
a. 10000110BCD Decimal Digit 8 6
e. 100110000011BCD BCD ?? ?? ??
Decimal Digit ?? ?? ??
35
Gray Code
◦ Invented by Frank Gray, also known as Reflected Binary Code
◦ Is a type of unweighted binary code, which means there are no
specific weights assigned to each bit position, therefore it is not
applicable for arithmetic calculations
◦ The important feature of Gray Code is that it exhibits only a single
bit change from one code word to the next in sequence
◦ This allows system designer to perform error checking as the data
must be incorrect if more than one bit has been changed during
each count (each transition from one number / position to the next
adjacent one)
36
Gray Code Table
A gray code can have ANY number of bits, not necessarily 4-bit code only 37
Gray Code (Cont.)
◦ Imagine in natural binary number system, as many as four digit
could change for a single count
◦ For example:
◦ Transition from binary 0111 to 1000 (decimal number 7 to 8) involves
the changes towards all the four binary digits
◦ But transition from gray code 0100 (710) to 1100 (810) involves only
one bit of changes (at the MSB)
◦ Therefore, Gray Code is considered to be an error-minimizing code.
◦ Besides that, the speed of transition for Gray Code is faster than code
changes for natural binary or BCD code
38
Application of Gray Code
◦ Gray codes are used with shaft position encoder for accurate
control of robots and machine tools
◦ Three IR emitter/detectors are used to encode the position of the shaft
◦ Encoder on the left uses binary and can have three bits change together, creating a
potential error. Encoder on the right uses gray code and only 1-bit changes, eliminating
potential error.
39
Application of Gray Code (Cont.)
◦ Mathematical puzzle like “Tower of Hanoi” can be solved by using the
concept of Gray Code as it allows only one plate to be shifted at a time
40
Gray Code vs Natural Binary
◦ Conversion from Gray Code to Binary number can be performed by
applying the logic of Exclusive-OR gate
41
Conversion of Natural Binary to Gray Code
Example 1:
Binary 1 1 0 1
Convert 11012 into Gray Code
Solution:
1. Retain MSB of binary number to be Gray 1
Gray Code’s MSB
2. 2nd bit of Gray code will be obtained Gray 1 0
by performing exclusive-or of the 1st
bit and second bit of binary number Gray 1 0 1
3. Repeat until the last bit of binary
number has been converted Gray 1 0 1 1
42
Conversion of Natural Binary to Gray Code (Cont.)
Example 2: Binary 1 0 0 1 1