Chapter 2 Data Representation on CPU (part 1)

Preview:

DESCRIPTION

This topic introduces the numbering systems: decimal, binary, octal and hexadecimal. The topic covers the conversion between numbering systems, binary arithmetic, one's complement, two's complement, signed number and coding system. This topic also covers the digital logic components.

Citation preview

Chapter 2:

DATA REPRESENTATION

IN COMPUTER MEMORY

SUMMARY: This topic introduces the numbering systems: decimal, binary, octal and hexadecimal. The topic covers the conversion between numbering systems, binary arithmetic, one's complement, two's complement, signed number and coding system. This topic also covers the digital logic components.

CLO 2:apply appropriate method to solve arithmetic problem in numbering system (C3).

RTA: (08 : 08)

2.1 Understand data representation

on CPU.2.1.1 Define decimal, binary, octal and hexadecimal number.

2.1.2 Perform arithmetic operation (addition and subtraction) in different number bases.

2.1.3 Convert decimal, binary, octal and hexadecimal numbers to different bases and vice-versa

INTRODUCTION The binary system and decimal system is

most important in digital system. Decimal - Universally used to represent

quantities outside a digital system. Its means, there will be situations decimal

values must be converted to binary values before entered to digital system.

Example : Calculator / Computer

DECIMAL NUMBERING SYSTEM Decimal system is composed of 10 numerals

or symbols.

These 10 sysmbols are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Using these symbols as digits of a number, it can express any quantity.

Base number = 10 Basic number = 0,1,2,3,4,5,6,7,8,9

23410

Basic number

Base number

Positional Values (weights)

2 7 4 6 . 2

102103 101 100 10-1

Positional values (weights)

MSD LSD

2746.210 is from calculation below:

2746.2 = (2x103) + (7x102) + (4x101) + (6x100) + (2x10-1) = 2000 + 700 + 40 +6 +0.2 = 2746.2

Most significant digit Least significant digit

BINARY NUMBERING SYSTEM Define Binary numbers

Binary numbers representing number in which only digits 0 or 1.

ADDITION BINARY NUMBERSBasic binary addition rule :

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10

1 + 1 + 1 = 11

Example : 101 + 101 = 10101011 + 1011 = ?

Ex 1:

110112 + 100012 = 1011002

Ex 2: 101112 + 1112 = ________

Exercise

Subtraction

Four conditions in binary subtraction 0 - 0 = 0 0 - 1 = 1 borrow 1 1 - 0 = 1 1 - 1 = 0 10 - 1 = 1 If a 10 being borrow a 1, what’s left with

that 10 is a 1

Ex 1:

10012 – 102 = 1112

Ex 2: 1010112 – 11112 =__________

Conversions of Binary NumbersBinary to Decimal conversions Example : 1 1 0 1 12

24 + 23 + 22 + 21 + 20 = 16 + 8 + 2 + 1

= 2710

Decimal to Binary conversions

Convert 2510 to binary number

Exercise: Convert 3010 to binary number

OCTAL NUMBERING SYSTEM The octal number system has a base of eight,

meaning that it has eight possible digits: 0,1,2,3,4,5,6 and 7.

The digit positions in an octal number have weights as follows :

84 83 82 81 80 •. 8-1 8-2 8-3

Ex: 5248 – 1678 = 3358

1678 – 248 = _________

Octal number - (Subtraction - Pengurangan)

Octal –to-decimal conversion

Convert 3728 to decimal number

3728 = 3 x (82) + 7 x (81) + 2 x (80)

= (3 x 64) + (7x 8) + (2 x 1)

= 25010

Octal number - Addition (Penambahan)

Ex:

1238

+ 3218

4448

Ex:

4578

+ 2458

Decimal integer can be converted to octal by using the same repeated-division method with a division factor of 8.

Decimal-to-Octal Conversion

Octal –to- Binary conversion

Binary to Octal conversion

The hexadecimal number system uses base 16.

It has 16 possible digit symbols. It uses the digits 0 through 9 plus the letters

A, B, C, D, E and F as the 16 digit symbols.

HEXADECIMAL NUMBERING SYSTEM

7A16

Basic number

Base number

Hexadecimal number - Addition (Penambahan)

Ex:

3 316

+ 4 716

Ex:

2 0 D 316

+ 1 2 B C16

7 A16

Hexadecimal number - Subtraction (Pengurangan)

Ex:

4 416

- 1 716

Ex:

3 2 5 516

- 3 1 8 216

2 D16

Hexadecimal-To-Decimal Conversion A hexadecimal number can be converted to

its decimal equivalent by using the fact that each hex digit position has a weight that is a power of 16.

Ex 1:

1416 = (1 x 161) + (4 x 160)

= 16 + 4

= 2010

Ex 2:

ABC16 = (10 x 162) + (11 x 161)

= (12 x 160)

= 2560 + 176 + 12

= 274810

Decimal to hex conversion can be done using repeated division by 16.

Ex: Convert 2010 to hex

Decimal-To-Hexadecimal Conversion

16 20

16 1 4

2010 = 1416

Like the octal number system, the hexadecimal number system is used primarily as a “shorthand” method for representing binary numbers.

It is a relatively simple matter to convert a hex number to binary .

Each hex digit is converted to its four-bit binary equivalent.

Hexadecimal-to-Binary Conversion

Ex:

111010012 = __________

00101101001111002 =___________

The binary number is grouped into groups of four bits, and each group is converted to its equivalent hex digit.

Zero are added, as needed to complete a four-bit group.

Ex:

1012 = 0101

= 516

Binary-to-Hexadecimal Conversion

Summary

Hexadecimal Decimal Binary

0 0 0000

1 1 0001

2 2 0010

3 3 0011

4 4 0100

5 5 0101

6 6 0110

7 7 0111

Summary

Hexadecimal Decimal Binary

8 8 1000

9 9 1001

A 10 1010

B 11 1011

C 12 1100

D 13 1101

E 14 1110

F 15 1111

2.1.4 Describe the coding system

a. Sign and magnitudeb. 1’s Complement and 2’s Complementc. Binary Coded Decimal (BCD system)d. ASCII and EBCDIC

Describe the coding system

Sign and Magnitude

Positive sign, ( 0 ) orNegative sign ( 1 )

Magnitude =Size

Or value

Describe the coding system

Sign and Magnitude

Example 1 : Represent -9 in sign and magnitude.

-9 sign magnitude 1 1001 11001 -9 in sign &magnitude value is 11001

Describe the coding system

Sign and Magnitude

Example 2 : Represent 25 in sign and magnitude.

+25 sign magnitude 0 11001 011001 25 in sign & magnitude value is 011001

One’s Complements and Two’s Complements

One’s Complements One’s complements is used in binary number. The one’s complement of a binary number is

obtained by changing each 0 to 1 and 1 to a 0. Only change negative number In other words, change each bit in the number to

its complement.

Exp:

10011001 – original binary number

01100110 – complement each bit to form 1’s complement

Thus, we say that the 1’s complement of 10011001 is 01100110.

Exp:

Convert -2710 to 1’s complement

a) -2710 = 001002

Convert -4510 to 1’s complement

-------------

Two’s Complement The 2’s complement of a binary number is formed

by taking the 1’s complement of the number and adding 1 to the least-significant-bit (LSB) position.

Exp: 101101 binary equivalent of 45

010010 complement each bit to form 1’s complement

+ 1 add 1

010011 2’s complement of original binary

number

Two’s complement = One’s Complement + 1

Exercise

1. Convert the number below to 1’s complement 2’s complement

------------------- -------------------

-101110012 0100 0110 0100 0111

-5768 01000 0001 01000 0010

-124516

-4510

Addition in 1’s complement

Exp 1 : 810 + (-310)1000 8 change to binary number

+ 1100 -3 change to 1’s complement 10100

1 add carry to LSB 0101

Exercise 2 : 510 + (-210) ----------------

Exp 1: 810 + (-310)1100 -3 change to 1’s complement

+ 1

1101 -3 change to 2’s complement

+ 1000 8 change to binary number

10101

Addition in 2’s complement

This carry is disregarded, the result is 0101 (sum=5)

Exp 2: -810 + 310

0111 -8 change to 1’s complement

+ 1

1000 -8 change to 2’s complement

+ 0011 3 change to binary number

1011negative sign bit

Only binary number which have –ve sign need to change to 1’s complement. If the number is decimal number, change the number to binary number.

The –ve number that already change to 1’s complement, means that the number already change to +ve. So that, the subtraction process have change to addition process.

Overflow bit in addition process need to carry to LSB and add with the number.

Subtraction in 1’s complement

Exp 1: 2510 – 1310

Step 1 : Convert 2510 and -1310 to binary number.

2510 = 110012 1310 = 11012

Step 2 : Change 1310 = 1101 to 1’s complement

1310 = 11012 change to 1’s complement = 10010

11001 25 change to binary number

+ 10010 -13 change to 1’s complement

101011

+ 1 add 1

01100 total=12

Change the number are given to binary number.

For each –ve binary number, we must change to 1’s complement (change 0 to 1 and 1 to 0).

Then, add the number with 1.

Subtraction in 2’s complement

Exp 1: 2510 – 1310

Step 1 : Convert 2510 and -1310 to binary number.

2510 = 110012 1310 = 11012

Step 2 : Change -1310 to 2’s complement

-1310 = 011012 change to 1’s complement = 10010

10010 change to 2’s complement = 10011

11001 25 change to binary

+ 10010 -13 change to 2’s complement

101100 total=12Carry disregard

Solve this arithmetic with 2’s complement.

i. 428 – 158

ii. 101110 - 56910

Exercise

Signed Number

Addition of Signed Number Addition number same sign Exp: +4 + (+8) = +12

+4 00000100

+8 00001000

+12 00001100

Addition number different sign Exp 1:

(-4) + (+8) = +4

-4 11111100

+ (+8) 00001000

+4 1 00000100

This carry is disregarded

00000100 +411111011 1’s complements

+ 111111100 2’s complements

Exp 1:

(-12) + (+5) = -7

-12 11110100

+ +5 00000101

-7 11111001

00001100 +1211110011 1’s complements

+ 111110100 2’s complements

Negatif sign bit

Subtraction of Signed Number

Positive Number (-) Negative Number Exp:

+10 – (-5) = +10 + (+5)

= + 15

+10 00001010

+ 5 00000101

+15 00001111

Negative Number (-) Positive Number Exp:

-10 – (+5) = - 15

- 10 11110110 11110110

- (+5) 00000101 + 11111011

-15 111110001

Negative Number (-) Negative Number Exp:

-10 – (-5) = -10 + (5)

= - 5

-10 11110110

- (- 5) + 00000101

- 5 11111011

BCD Code

BCD – Binary Coded Decimal

It’s contain BCD 8421, 2421, 3321, 5421, 5311, 4221 and etc.

The common used is BCD 8421 and BCD 2421.

4 bit BCD CodeDesimal 5421 5311 4221 3321 2421 8421 7421

0 0000 0000 0000 0000 0000 0000 0000

1 0001 0001 0001 0001 0001 0001 0001

2 0010 0011 0010 0010 0010 0010 0010

3 0011 0100 0011 0011 0011 0011 0011

4 0100 0101 1000 0101 0100 0100 0100

5 1000 1000 0111 1010 1011 0101 0101

6 1001 1001 1100 1100 1100 0110 0110

7 1010 1011 1101 1101 1101 0111 1000

8 1011 1100 1110 1110 1110 1000 1001

9 1100 1101 1111 1111 1111 1001 1010

Binary-Coded-Decimal Code

If each digit of a decimal number is represented by its binary equivalent, the result is a code called binary-coded-decimal.

Decimal digit can be as large as 9, four bits are required to code each digit (the binary code for 9 is 1001)

Exp: 87410

8 7 4 (decimal)

1000 0111 0100 (BCD)

BCD 8421 Code – to – Binary Number

Exp:

Convert 1001 0110BCD 8421 to binary number.

Step 1: Change BCD 8421 code to decimal number.

1001 0110

9 6

Step 2 : Change decimal number to binary number.

1001 0110BCD 8421 = 11000002

Exp:

Convert 10010102 to BCD 8421

code.Step 1: Change binary number to decimal

number.

10010102 = 7410

Step 2: Change decimal number to BCD

8421 code.

10010102 = 01110111BCD

8421

Binary Number – to – BCD 8421 Code

The most widely used alphanumeric code is the American Standard Code for Information Interchange (ASCII).

The ASCII code is a seven-bit code and so it has 27

= 128 possible code groups.

ASCII Code

MSBLSB

Binary 000 001 010 011 100 101 110 111

Binary Hex 0 1 2 3 4 5 6 7

0000 0 Nul Del sp 0 @ P p

0001 1 Soh Dc1 1 1 A Q a q

0010 2 Stx Dc2 “ 2 B R b r

0011 3 Etx Dc3 # 3 C S c s

0100 4 Eot Dc4 $ 4 D T d t

0101 5 End Nak % 5 E U e u

0110 6 Ack Syn & 6 F V f v

0111 7 Bel Etb ‘ 7 G W g w

1000 8 Bs Can ( 8 H X h x

1001 9 HT Em ) 9 I Y i y

1010 A LF Sub . : J Z j z

1011 B VT Esc + ; K k

1100 C FF FS , < L l

1101 D CR GS - = M m

1110 E SO RS . > N n

1111 F SI US / ? O o

ASCII code

Exp:

An operator is typing in a BASIC program

at the keyboard of a certain

microcomputer. The computer converts

each keystroke into its ASCII code and

stores the code as a byte in memory.

Determine the binary strings that will be

entered into memory when operator types

in the following BASIC statement:

GOTO 25

Solution:

Locate each character (including the

space) and record ASCII code.

G 01000111

O 01001111

T 01010100

O 01001111

(space) 00100000

2 00110010

5 00110101

*0 was added to the leftmost bit of each ASCII code because theCodes must be stored as bytes (eight bits).

Exercise :

1.The following message encode in ASCII code. What the meaning of this code ?

a) 54 4F 4C 4F 45 47 b) 48 45 4C 4C 4F c) 41 50 41 4B 48 41 42 41 52

EBCDIC Stand for Extended Binary Coded Decimal

Interchange Code. was first used on the IBM 360 computer,

which was presented to the market in 1964. Used with large computer such as

mainframe.

Recommended