Vous êtes sur la page 1sur 67

Chapter 2.

0:

Data Representation on CPU


FP203 : Computer Organization

Topic Cover
2.1

2.2
2.3

2.4

Number System (decimal, binary, octal, and hexadecimal) Arithmetic Operation in number system. Convert Decimal, Binary, Octal and Hexadecimal Numbers to different bases. Coding system:
Sign and magnitude, 1s Complement and 2s Complement Binary Coded Decimal (BCD system) ASCII and EBCDIC

INTRODUCTION
Examples
Real World Data Input device Computer Data

Dear Mom:

Keyboard

10110010

Digital camera

10110010

2.1 Number System


Many number system are in use in digital technology. Most common are:
Decimal, N10 Binary, N2 Octal, N8 Hexadecimal, N16

2.2 ARITHMETIC OPERATION


Arithmetic operation in number system consist of: Addition Only cover this 2 topics Subtraction Multiplication Division

Decimal
number system

Decimal system is composed of 10 numerals or symbol. Symbol: 0,1,2,3,4,5,6,7,8,9

10 Symbol
Example: 23410
Multiplier: 103 = 1000 102 = 100 101 = 10 100 =1 . . 10-1 = 0.1

Example:

2746.210
This number is came from this calculation:

2
103 = 1000

7
102 = 100

4
101 = 10

2
100 =1

.
. .

2
10-1 = 0.1

2746.210 = (2x1000) + (7x100) + (4x10) + (2x1) + (2x0.1) = 2000 + 700 + 40 + 2 + 0.2 = 2746.2 Decimal number = Natural Number

Arithmetic Operation

Decimal

Decimal Addition
Example:

a. 89310 + 32110 = 89310 +32110 121410


Try this : 73310 + 79910 = ?

b. 75710 + 24510 =

75710 + 24510 100210

Decimal Subtraction
Example: a. 5410 - 1710 = 5410 - 1710 3710 Try this : 533310 - 3710 = ?
b. 15710 - 8910 =

15710 - 8910 6810

Octal
number system

Octal system is composed of 8 numerals or symbol. Symbol: 0,1,2,3,4,5,6,7

8 Symbol
Example: 658
Multiplier: 83 = 512 82 = 64 81 =8 80 =1 . . 8-1 = 0.125

Example:

107.158
This number can be convert to decimal value using this calculation:

1
82 = 64

0
81 =8

7
80 =1

.
. .

1
8-1 = 0.1250

5
8-2 = 0.0156

107.158

= (1x64)+(0x8)+(7x1)+(1x0.1250)+(5x0.0156) = 64 + 0 + 7 + 0.1250 + 0.078 = 71.20310

Arithmetic Operation

Octal

Octal Addition
Sekiranya setiap hasil perjumlahan yang melebihi atau sama dengan 8 mestilah ditolak dengan 8. Example: a. 1238 + 3218 = 1238 +3218 4448
b. 4578 + 2458 =

4578 + 2458 7248

Try this : 7338 + 748 = ?

Octal Subtraction
Sekiranya terdapat peminjam, nombor peminjam mestilah dijumlahkan dengan 8. Example: a. 5248 - 1678 = 5248 - 1678 3358
b. 1678 - 248 =

1678 - 248 1438

Try this : 15238 - 3648 = ?

Binary
number system

Binary system is composed of 2 numerals or symbol. Symbol: 0,1

2 Symbol
Example: 1012
Multiplier: 25 = 32 24 = 16 23 =8 22 =4 21 =2 20 =1

Example:

10.1012
This number can be convert to decimal value using this calculation:

1
21 =2

0
20 =1

.
. .

1
2-1 = 0.5000

0
2-2 = 0.2500

1
2-3 = 0.1250

10.1012

= (1x2)+(0x1)+(1x0.5)+(0x0.25)+(1x0.125) = 2 + 0 + 0.5 + 0 + 0.125 = 2.62510

Arithmetic Operation

Binary

Binary Addition
The four basic rules for adding binary digits are as follows: 0+0=0 0+1=1 1+0=1 1 + 1 = 0 carry 1 Example: 110112 + 100012 = 110112 + 100012 1011002 Try this : 101112 + 1112 = ?

Binary Subtraction
The four basic rules for subtracting binary digits are as follows:0-0=0 0 - 1 = 1 borrow 1 1-0=1 1-1=0 Example:

10012 -102 =
10012 102 1112 Try this : 1010112 11112 =?

Binary Subtraction
Have previously looked at the subtraction operation. A quick review. Just like subtraction in any other base 10110 -10010 00100 And when a borrow is needed. Note that the borrow gives us 2 in the current bit position.

Example

In General
When there is no borrow into the msb position, then the subtrahend in not larger than the minuend and the result is positive and correct.

If a borrow into the msb does occur, then the subtrahend is larger than the minuend.

Consider
Now do the operation 4 6

Correct difference is -2 or -0010 Different because 2n was brought in and made the operation MN+2n

Hexadecimal
number system

Hexadecimal system is composed of 16 10 11 12 13 14 15 numerals or symbol. Symbol: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

16 Symbol
Example: 7A16
Multiplier: 163 = 4096 162 = 256 161 = 16 160 =1 . . 16-1 = 0.0626

Example:

B6F.7C16
This number can be convert to decimal value using this calculation:

B
162 = 256

6
161 = 16

F
160 =1

.
. .

7
16-1 0.0625

C
16-2 = 0.0039

B6F.7C16

= (11x256) + (6x16) + (15x1) + (7x0.0625) + (12x0.0039) = 2816 + 96 + 15 + 0.4375 + 0.0468

= 2927.484310

Arithmetic Operation

Hexadecimal

Hexadecimal Addition
Sekiranya setiap hasil perjumlahan yang melebihi atau sama dengan 16 mestilah ditolak dengan 16. Example: a. 3316 + 4716 = 3316 + 4716 7A16 Try this : DF16 + AB16 = ?
b. 20D316 + 12BC16 =

20D316 + 12BC16 338F16

Hexadecimal Subtraction
Nilai yang kecil daripada 16 boleh dipinjam dari sebelah dengan nilai 16. Example: a. 4416 - 1716 = 4416 - 1716 2D16 Try this : DF16 - AB16 = ?
b. 20D316 - 12BC16 =

20D316 - 12BC16 0E1716

2.3: Convert Decimal, Binary, Octal and Hexadecimal Numbers to different bases

Convert Binary to Decimal (N2 N10)


Example:

1111012 This number can be convert to decimal value using this calculation: 1 1 1 1 0 1
25 = 32 24 = 16 23 =8 22 =4 21 =2 20 =1

1111012 = (1x32)+(1x16)+(1x8)+(1x4)+(0x2)+(1x1) = 32 + 16 + 8 + 4 + 0 + 1 = 6110


Try this: Convert 1100.10112 to decimal? Convert 100.10112 to decimal?

Convert Binary to Octal (N2 - N8)


Convert Binary to Octal adalah dengan membahagikan nombor Binary tersebut kepada 3 bit bermula dari sebelah kanan (LSB)
LSB

1111012
1
22 =4

1
21 =2

1
20 =1

1
22 =4

0
21 =2

1
20 =1

1111012 = [(1x4)+(1x2)+(1x1)] [(1x4)+(0x2)+(1x1)] = [4 + 2 + 1][ 4 + 0 + 1] = 758


Try this: Convert 110010112 to Octal?

Convert Binary to Hexadecimal (N2 N16)


Convert Binary to Hexadecimal adalah dengan membahagikan nombor binary kepada 4 bit bermula dari LSB. Sekiranya bit tersebut tidak mencukupi, maka digit 0 perlu ditambah pada MSB
LSB

01012 0
23 =8

1
22 =4

0
21 =2

1
20 =1

01012 = (0x8)+(1x4)+(0x2)+(1x1) =0+4+0+1


= 516
Try this: Convert 101111012 to Hexadecimal?

Convert Decimal to Binary (N10 N2)


Example: Convert 1810 to binary 2 2 2 2 2 18 9 4 2 1

181 0
1 0 0

1810

= 100102

Try this: Convert 32.20210 to binary? Convert 8910 to binary?

Convert Decimal to Octal (N10 N8)


Example: Convert 300.3410 to Octal
i. 300 Divide by 8 ii. 0.34 Multiply by 8

300

8
8 8

37
4 0

4
5 4
454

0.3410 = 0.34 x 8 = 2.72 ( 2+0.72 )


0.72 x 8 = 5.76 ( 5+0.76 ) 0.76 x 8 = 6.08 ( 6+0.08 ) 0.08 x 8 = 0.64 ( 0+0.64 ) 0.64 x 8 = 5.12 ( 5+0.12 )
0.25605

300.3410 = 454.256058
Try this: Convert 32.20210 to Octal?

Convert Decimal to Hexadecimal (N10 N16)


Example: Convert 2010 to Hexadecimal 16 16 20 1 0 Balance 4 1

2010= 1416
Try this: Convert 343410 to hexadecimal?

Convert Octal to Binary (N8 N2)


Convert Octal to Binary adalah dengan menukar setiap digit oktal kepada nilai 3 bit binary nya

MSB

4 58 0
20 =1

LSB

1
22 =4

0
21 =2

1
22 =4

0
21 =2

1
20 =1

1001018 = [(1x4)+(0x2)+(0x1)] [(1x4)+(0x2)+(1x1)] = [4 + 0 + 0][ 4 + 0 + 1]


= 100

1012

Try this: Convert 110010112 to Octal?

Convert Hexadecimal to Binary (N16 N2)


Convert Octal to Binary adalah dengan menukar setiap digit hexadecimal kepada nilai 4 bit binary nya

MSB

3 A16 1
21 =2

LSB

0
23 =8

0
22 =4

1
20 =1

1
23 =8

0
22 =4

1
21 =2

0
20 =1

3A16 = [(0x8)+(0x4)+(1x2)+(1x1)][(1x8)+(0x4)+(1x2)+(0x1)] = [0 + 0 + 2 + 1][ 8 + 0 + 2 + 0]


=

0011 10102

Try this: Convert EFA16 to Binary?

2.4: Coding System


Sign and magnitude, 1s Complement & 2s Complement

8-Bit Binary Number System


Apply what you have learned to the binary number systems. How do you represent negative numbers in this 8-bit binary system? Cut the number system in half. Use 00000001 01111111 to indicate positive numbers.
+127 01111111 pos(+)

+126
+125

01111110
01111101

+1 0 -1 -2

00000001 00000000 11111111 11111110

Use 10000000 11111111 to indicate negative numbers.


Notice that 00000000 is not positive or negative.

-127 -128

10000001 10000000 neg(-)

Representing Negative Numbers


As there is no third symbol available to store a negative symbol explicitly we must use a bit to show if a number is negative or not.
We name this bit the Sign Bit We use the leftmost bit. If the Sign Bit is 1 then the number is negative, if it is 0 then it is positive.

Sign Bit
What did do you notice about the most significant bit of the binary numbers? The MSB is (0) for all positive numbers. The MSB is (1) for all negative numbers. The MSB is called the sign bit. In a signed number system, this allows you to instantly determine whether a number is positive or negative.
+127 01111111 pos(+)

+126
+125

01111110
01111101

+1 0 -1 -2

00000001 00000000 11111111 11111110

-127 -128

10000001 10000000 neg(-)

1s Complement
This is just inverting each bit.
0000010
flip the number.

1 1 11 1 0 1

1s compliment of 00000010 is 1111101

2S Complement Process
The steps in the 2s Complement process First, complement all of the digits in a number.
A digits complement is the number you add to the digit to make it equal to the largest digit in the base (i.e., 1 for binary). In binary language, the complement of 0 is 1, and the complement of 1 is 0.

Second, add 1.
Without this step, our number system would have two zeroes (+0 & -0), which no number system has.

2s Complement Examples
Example #1
5 = 00000101 11111010
+1 Complement Digits

-5 = 11111011

Add 1

Example #2
-13 = 11110011 00001100
+1 Complement Digits

13 = 00001101

Using The 2s Compliment Process


Use the 2s complement process to add together the following numbers.

POS + POS POS

9 + 5 14

NEG + POS NEG

(-9) + 5 -4

POS + NEG POS

9 + (-5) 4

NEG + NEG NEG

(-9) + (-5) -4

POS + POS POS Answer


If no 2s complement is needed, use regular binary addition.

9 + 5 14

00001001 + 00000101 00001110

POS + NEG POS Answer


Take the 2s complement of the negative number and use regular binary addition.

9 + (-5) 4

00001001 + 11111011 1]00000100


8th Bit = 0: Answer is Positive Disregard 9th Bit

00000101 11111010 +1 11111011

2s Complement Process

POS + NEG NEG Answer


Take the 2s complement of the negative number and use regular binary addition.

(-9) + 5 -4
11111100 00000011 +1 00000100

11110111 + 00000101 11111100


8th Bit = 1: Answer is Negative

To Check: Perform 2s Complement On Answer

00001001 11110110 +1 11110111

2s Complement Process

NEG + NEG NEG Answer


Take the 2s complement of both negative numbers and use regular binary addition.

(-9) + (-5) -14


11110010 00001101 +1 00001110

11110111 + 11111011 1]11110010


8th Bit = 1: Answer is Negative Disregard 9th Bit

2s Complement Numbers, See Conversion Process In Previous Slides

To Check: Perform 2s Complement On Answer

2.4: Coding System


Binary Coded Decimal (BCD System) ASCII and EBCDIC

Binary-Coded Decimal (BCD)


Four bits per digit
Note: the following bit patterns are not used: 1010 1011 1100 1101 1110 1111

Digit

Bit pattern

0
1 2 3 4 5 6 7 8 9

0000
0001 0010 0011 0100 0101 0110 0111 1000 1001

Example
709310 = ? (in BCD) 7 0 9 3

0111 0000 1001 0011

ASCII
ASCII = American National Standard Code for Information Interchange 7-bit code 8th bit is unused (or used for a parity bit) 27 = 128 codes Two general types of codes:
95 are Graphic codes (displayable on a console) 33 are Control codes (control features of the console or communications channel)

ASCII Chart
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 000 NULL SOH STX ETX EDT ENQ ACK BEL BS HT LF VT FF CR SO SI 001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 010 ! " # $ % & ' ( ) * + , . / 011 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ \ ] ^ _ 110 ` a b c d e f g h i j k l m n o 111 p q r s t u v w x y z { | } ~ DEL

000 001 0000 NULL DLE 0001 SOH DC1 0010 STX DC2 0011 ETX DC3 0100 EDT DC4 0101 ENQ NAK 0110 ACK SYN 0111 BEL ETB 1000 BS CAN 1001 HT EM 1010 LF SUB 1011Least significant ESC VT bit 1100 FF FS 1101 CR GS 1110 SO RS 1111 SI US

011 0 ! 1 " 2 # 3 Most significant bit $ 4 % 5 & 6 ' 7 ( 8 ) 9 * : + ; , < = . > / ?

010

100 @ A B C D E F G H I J K L M N O

101 P Q R S T U V W X Y Z [ \ ] ^ _

110 ` a b c d e f g h i j k l m n o

111 p q r s t u v w x y z { | } ~ DEL

e.g., a = 1100001

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

000 NULL SOH STX ETX EDT ENQ ACK BEL BS HT LF VT FF CR SO SI

001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

010 ! " # $ % & ' ( ) * + , . /

011 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

100 @ A B C D E F G H I J K L M N O

101 P Q R S T U V W X Y Z [ \ ] ^ _

110 ` a b c d e f g h i j k l m n o

111 p q r s t u v w x y z { | } ~ DEL

95 Graphic codes

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

000 NULL SOH STX ETX EDT ENQ ACK BEL BS HT LF VT FF CR SO SI

001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

010 ! " # $ % & ' ( ) * + , . /

011 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

100 @ A B C D E F G H I J K L M N O

101 P Q R S T U V W X Y Z [ \ ] ^ _

110 ` a b c d e f g h i j k l m n o

111 p q r s t u v w x y z { | } ~ DEL

33 Control codes

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

000 NULL SOH STX ETX EDT ENQ ACK BEL BS HT LF VT FF CR SO SI

001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

010 ! " # $ % & ' ( ) * + , . /

011 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

100 @ A B C D E F G H I J K L M N O

101 P Q R S T U V W X Y Z [ \ ] ^ _

110 ` a b c d e f g h i j k l m n o

111 p q r s t u v w x y z { | } ~ DEL

Alphabetic codes

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

000 NULL SOH STX ETX EDT ENQ ACK BEL BS HT LF VT FF CR SO SI

001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

010 ! " # $ % & ' ( ) * + , . /

011 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

100 @ A B C D E F G H I J K L M N O

101 P Q R S T U V W X Y Z [ \ ] ^ _

110 ` a b c d e f g h i j k l m n o

111 p q r s t u v w x y z { | } ~ DEL

Numeric codes

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

000 NULL SOH STX ETX EDT ENQ ACK BEL BS HT LF VT FF CR SO SI

001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

010 ! " # $ % & ' ( ) * + , . /

011 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

100 @ A B C D E F G H I J K L M N O

101 P Q R S T U V W X Y Z [ \ ] ^ _

110 ` a b c d e f g h i j k l m n o

111 p q r s t u v w x y z { | } ~ DEL

Punctuation, etc.

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

000 NULL SOH STX ETX EDT ENQ ACK BEL BS HT LF VT FF CR SO SI

001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

010 ! " # $ % & ' ( ) * + , . /

011 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

100 @ A B C D E F G H I J K L M N O

101 P Q R S T U V W X Y Z [ \ ] ^ _

110 ` a b c d e f g h i j k l m n o

111 p q r s t u v w x y z { | } ~ DEL

The Problem
Representing text strings, such as Hello, world, in a computer

Hello, world Example


Binary 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 01100111 01110010 01101100 01100100 Hexadecimal 48 65 6C 6C 6F 2C 20 77 67 72 6C 64 Decimal 72 101 108 108 111 44 32 119 103 114 108 100

H e l l o , w o r l d

= = = = = = = = = = = =

= = = = = = = = = = = =

= = = = = = = = = = = =

EBCDIC
Extended BCD Interchange Code (pronounced ebb-se-dick) 8-bit code Developed by IBM Rarely used today IBM mainframes only

EBCDIC Extended Binary Coded Decimal Interchange Code code table

EBCDIC Extended Binary Coded Decimal Interchange Code code table


Example: MSB LSB 1111 1111 1110 1001 1111 0111 1101 0111EBCDIC CODE
Z 6 P

Message below are represented in EBCDIC code. What is the message? Please convert by using EBCDIC Code table given:

i) 1111 1100 1011 0101 1101 1001 EBCDIC CODE

Vous aimerez peut-être aussi