Chapter 2 Data Representation on CPU (part 1)

66
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)

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.

Transcript of Chapter 2 Data Representation on CPU (part 1)

Page 1: Chapter 2 Data Representation on CPU (part 1)

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)

Page 2: Chapter 2 Data Representation on CPU (part 1)

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

Page 3: Chapter 2 Data Representation on CPU (part 1)

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

Page 4: Chapter 2 Data Representation on CPU (part 1)

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.

Page 5: Chapter 2 Data Representation on CPU (part 1)

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

23410

Basic number

Base number

Page 6: Chapter 2 Data Representation on CPU (part 1)

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

Page 7: Chapter 2 Data Representation on CPU (part 1)

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 = ?

Page 8: Chapter 2 Data Representation on CPU (part 1)

Ex 1:

110112 + 100012 = 1011002

Ex 2: 101112 + 1112 = ________

Exercise

Page 9: Chapter 2 Data Representation on CPU (part 1)

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

Page 10: Chapter 2 Data Representation on CPU (part 1)

Ex 1:

10012 – 102 = 1112

Ex 2: 1010112 – 11112 =__________

Page 11: Chapter 2 Data Representation on CPU (part 1)

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

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

= 2710

Page 12: Chapter 2 Data Representation on CPU (part 1)

Decimal to Binary conversions

Convert 2510 to binary number

Exercise: Convert 3010 to binary number

Page 13: Chapter 2 Data Representation on CPU (part 1)

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

Page 14: Chapter 2 Data Representation on CPU (part 1)

Ex: 5248 – 1678 = 3358

1678 – 248 = _________

Octal number - (Subtraction - Pengurangan)

Page 15: Chapter 2 Data Representation on CPU (part 1)

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

Page 16: Chapter 2 Data Representation on CPU (part 1)

Octal number - Addition (Penambahan)

Ex:

1238

+ 3218

4448

Ex:

4578

+ 2458

Page 17: Chapter 2 Data Representation on CPU (part 1)

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

Decimal-to-Octal Conversion

Page 18: Chapter 2 Data Representation on CPU (part 1)

Octal –to- Binary conversion

Page 19: Chapter 2 Data Representation on CPU (part 1)

Binary to Octal conversion

Page 20: Chapter 2 Data Representation on CPU (part 1)

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

Page 21: Chapter 2 Data Representation on CPU (part 1)

Hexadecimal number - Addition (Penambahan)

Ex:

3 316

+ 4 716

Ex:

2 0 D 316

+ 1 2 B C16

7 A16

Page 22: Chapter 2 Data Representation on CPU (part 1)

Hexadecimal number - Subtraction (Pengurangan)

Ex:

4 416

- 1 716

Ex:

3 2 5 516

- 3 1 8 216

2 D16

Page 23: Chapter 2 Data Representation on CPU (part 1)

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.

Page 24: Chapter 2 Data Representation on CPU (part 1)

Ex 1:

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

= 16 + 4

= 2010

Page 25: Chapter 2 Data Representation on CPU (part 1)

Ex 2:

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

= (12 x 160)

= 2560 + 176 + 12

= 274810

Page 26: Chapter 2 Data Representation on CPU (part 1)

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

Page 27: Chapter 2 Data Representation on CPU (part 1)

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

Page 28: Chapter 2 Data Representation on CPU (part 1)

Ex:

111010012 = __________

00101101001111002 =___________

Page 29: Chapter 2 Data Representation on CPU (part 1)

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

Page 30: Chapter 2 Data Representation on CPU (part 1)

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

Page 31: Chapter 2 Data Representation on CPU (part 1)

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

Page 32: Chapter 2 Data Representation on CPU (part 1)

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

Page 33: Chapter 2 Data Representation on CPU (part 1)

Describe the coding system

Sign and Magnitude

Positive sign, ( 0 ) orNegative sign ( 1 )

Magnitude =Size

Or value

Page 34: Chapter 2 Data Representation on CPU (part 1)

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

Page 35: Chapter 2 Data Representation on CPU (part 1)

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

Page 36: Chapter 2 Data Representation on CPU (part 1)

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.

Page 37: Chapter 2 Data Representation on CPU (part 1)

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.

Page 38: Chapter 2 Data Representation on CPU (part 1)

Exp:

Convert -2710 to 1’s complement

a) -2710 = 001002

Convert -4510 to 1’s complement

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

Page 39: Chapter 2 Data Representation on CPU (part 1)

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

Page 40: Chapter 2 Data Representation on CPU (part 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

Page 41: Chapter 2 Data Representation on CPU (part 1)

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) ----------------

Page 42: Chapter 2 Data Representation on CPU (part 1)

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)

Page 43: Chapter 2 Data Representation on CPU (part 1)

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

Page 44: Chapter 2 Data Representation on CPU (part 1)

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

Page 45: Chapter 2 Data Representation on CPU (part 1)

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

Page 46: Chapter 2 Data Representation on CPU (part 1)

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

Page 47: Chapter 2 Data Representation on CPU (part 1)

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

Page 48: Chapter 2 Data Representation on CPU (part 1)

Solve this arithmetic with 2’s complement.

i. 428 – 158

ii. 101110 - 56910

Exercise

Page 49: Chapter 2 Data Representation on CPU (part 1)

Signed Number

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

+4 00000100

+8 00001000

+12 00001100

Page 50: Chapter 2 Data Representation on CPU (part 1)

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

Page 51: Chapter 2 Data Representation on CPU (part 1)

Exp 1:

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

-12 11110100

+ +5 00000101

-7 11111001

00001100 +1211110011 1’s complements

+ 111110100 2’s complements

Negatif sign bit

Page 52: Chapter 2 Data Representation on CPU (part 1)

Subtraction of Signed Number

Positive Number (-) Negative Number Exp:

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

= + 15

+10 00001010

+ 5 00000101

+15 00001111

Page 53: Chapter 2 Data Representation on CPU (part 1)

Negative Number (-) Positive Number Exp:

-10 – (+5) = - 15

- 10 11110110 11110110

- (+5) 00000101 + 11111011

-15 111110001

Page 54: Chapter 2 Data Representation on CPU (part 1)

Negative Number (-) Negative Number Exp:

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

= - 5

-10 11110110

- (- 5) + 00000101

- 5 11111011

Page 55: Chapter 2 Data Representation on CPU (part 1)

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.

Page 56: Chapter 2 Data Representation on CPU (part 1)

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

Page 57: Chapter 2 Data Representation on CPU (part 1)

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)

Page 58: Chapter 2 Data Representation on CPU (part 1)

Exp: 87410

8 7 4 (decimal)

1000 0111 0100 (BCD)

Page 59: Chapter 2 Data Representation on CPU (part 1)

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

Page 60: Chapter 2 Data Representation on CPU (part 1)

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

Page 61: Chapter 2 Data Representation on CPU (part 1)

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

Page 62: Chapter 2 Data Representation on CPU (part 1)

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

Page 63: Chapter 2 Data Representation on CPU (part 1)

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

Page 64: Chapter 2 Data Representation on CPU (part 1)

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).

Page 65: Chapter 2 Data Representation on CPU (part 1)

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

Page 66: Chapter 2 Data Representation on CPU (part 1)

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.