50
Representasi Data

5. Data Representation Complement

Embed Size (px)

DESCRIPTION

data

Citation preview

Page 1: 5. Data Representation Complement

Representasi Data

Page 2: 5. Data Representation Complement

Type Data

Jenis data yang disimpan dalam komputer digital dapat diklasifikasikan sebagai salah satu darikategori berikut:

1. angka yang digunakan dalam perhitungan aritmatika,

2. huruf-huruf alfabet yang digunakan dalampengolahan data, dan

3. simbol diskrit lain yang digunakan untuk tujuantertentu.

Semua jenis data yang direpresentasikan dalamkomputer dalam bentuk kode-biner.

Page 3: 5. Data Representation Complement

Representasi Radix

• Radix atau basis: adalah jumlahsimbol yang digunakan untuk mewakilinilai. Sebuah sistem jumlah radix r nilai. Sebuah sistem jumlah radix r menggunakan string yang terdiri darisimbol r yang berbeda untuk mewakilinilai.

Page 4: 5. Data Representation Complement

Radix representation of numbers

Example: convert the following number to the radix 10 format. 97654.35

The positions indicate the power of the radix. The positions indicate the power of the radix.

Start from the decimal point right to left we get 0,1,2,3,4 for the whole numbers.

And from the decimal point left to right

We get -1, -2 for the fractions

= 9x104 + 7x103 + 6x102 + 5x101 + 4x100 + 3x10-1 +

5x10-2

Page 5: 5. Data Representation Complement

Binary Numbers

Binary numbers are made of binary digits (bits):

0 and 10 and 1

Convert the following to decimal

(1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = (11)10

Page 6: 5. Data Representation Complement

Example

Use radix representation to convert the binary number (101.01) into decimal.

The position value is power of 2The position value is power of 2

1 0 1. 0 1

22 21 20 2-1 2-2

4 + 0 + 1 + 0 + 1/22 = 5.25 (101.01)2 (5.25)10

= 1 x 22 + 0 x 2 + 1 + 0 x 2-1 + 1 x 2-2

Page 7: 5. Data Representation Complement

Binary Addition

Example Add (11110)2 to (10111)2

1 1 1 1 0 1+ 1 0 1 1 1---------------------

0

1

0

1

1

1111

1 1 00

carries

(111101)2 + (10111) 2 = (1010100)2

carry

Page 8: 5. Data Representation Complement

Binary Subtraction

We can also perform subtraction (with borrows).

Example: subtract (10111) from (1001101)

1 10

1+1=2

1 100 10 10 0 0 10

1 0 0 1 1 0 1- 1 0 1 1 1------------------------

0 1 1 0 1 1 0

borrows2

(1001101)2 - (10111)2 = (0110110)2

Page 9: 5. Data Representation Complement

The Growth of Binary Numbers

n 2n

0 20=1

1 21=2

2 22=4

3 23=8

n 2n

8 28=256

9 29=512

10 210=10243 23=8

4 24=16

5 25=32

6 26=64

7 27=128

4

11 211=2048

12 212=4096

20 220=1M

30 230=1G

40 240=1T

Mega

Giga

Tera

Page 10: 5. Data Representation Complement

Octal Numbers

Octal numbers (Radix or base=8) are made of octal digits: (0,1,2,3,4,5,6,7)

How many items does an octal number represent?

Convert the following octal number to decimal

(465.27)8 = 4x82 + 6x81 + 5x80 + 2x8-1 + 7x8-2

Page 11: 5. Data Representation Complement

Counting in Octal

0 1 2 3 4 5 6 7

10 11 12 13 14 15 16 1710 11 12 13 14 15 16 17

20 21 22 23 24 25 26 27

Page 12: 5. Data Representation Complement

Conversion Between Number Bases

Decimal(base 10)

Octal(base 8)

Binary(base 2)

Hexadecimal

(base16)° We normally convert to base 10

because we are naturally used to the decimal number system.

° We can also convert to other number systems

Page 13: 5. Data Representation Complement

Converting an Integer from Decimal to Another Base

1. Divide the decimal number by the base (e.g. 2)

For each digit position:

2. The remainder is the lowest-order digit

3. Repeat the first two steps until no divisorremains.

4. For binary the even number has no remainder ‘0’, while the odd has ‘1’

Page 14: 5. Data Representation Complement

Converting an Integer from Decimal toAnother Base

Example for (13)10:

IntegerQuotient

13/2 = (12+1)½ a0 = 1

Remainder Coefficient

13/2 = (12+1)½ a0 = 1

6/2 = ( 6+0 )½ a1 = 0

3/2 = (2+1 )½ a2 = 1

1/2 = (0+1) ½ a3 = 1

Answer (13)10 = (a3 a2 a1 a0)2 = (1101)2

Page 15: 5. Data Representation Complement

Converting a Fraction from Decimal to Another Base

1. Multiply decimal number by the base (e.g. 2)

For each digit position:

2. The integer is the highest-order digit

3. Repeat the first two steps until fraction becomes zero.

Page 16: 5. Data Representation Complement

Converting a Fraction from Decimal to Another Base

Example for (0.625)10:

Integer Fraction CoefficientInteger

0.625 x 2 = 1 + 0.25 a-1 = 10.250 x 2 = 0 + 0.50 a-2 = 00.500 x 2 = 1 + 0 a-3 = 1

Fraction Coefficient

Answer (0.625)10 = (0.a-1 a-2 a-3 )2 = (0.101)2

Page 17: 5. Data Representation Complement

DECIMAL TO BINARY CONVERSION(INTEGER+FRACTION)

(1) Separate the decimal number into integer and fraction parts.

(2) Repeatedly divide the integer part by 2 to give a quotient and a remainder andRemove the remainder. Arrange the sequence of remainders right to left from the period. (Least significant bit first)Remove the remainder. Arrange the sequence of remainders right to left from the period. (Least significant bit first)

(3) Repeatedly multiply the fraction part by 2 to give an integer and a fraction partand remove the integer. Arrange the sequence of integers left to right from the period. (Most significant fraction bit first)

Page 18: 5. Data Representation Complement

(Example) (41.6875)10 (?)2

Integer = 41, Fraction = 0.6875

Integer remainder

41 /2 1

20 0

10 0

Overflow Fraction

X by 2 .6875

1 .3750

0 .750

1 .5

.Closer to

the point

The first procedure produces

41 = 32+8+1

= 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 0 x 2 + 1 = (101001)

5 1

2 0

1 1

1 0

Page 19: 5. Data Representation Complement

Converting an Integer from Decimal to Octal

1. Divide decimal number by the base (8)

For each digit position:

1. Divide decimal number by the base (8)

2. The remainder is the lowest-order digit

3. Repeat first two steps until no divisor remains.

Page 20: 5. Data Representation Complement

Converting an Integer from Decimal to Octal

Example for (175)10:

IntegerQuotient

Remainder CoefficientQuotient

175/8 = 21 + 7/8 a0 = 721/8 = 2 + 5/8 a1 = 52/8 = 0 + 2/8 a2 = 2

Answer (175)10 = (a2 a1 a0)2 = (257)8

Page 21: 5. Data Representation Complement

Converting an Integer from Decimal to Octal

1. Multiply decimal number by the base (e.g. 8)

For each digit position:

2. The integer is the highest-order digit

3. Repeat first two steps until fraction becomes zero.

Page 22: 5. Data Representation Complement

Converting an Integer from Decimal to Octal

Example for (0.3125)10:

Integer

0.3125 x 8 = 2 + 0.5 a-1 = 2

Fraction Coefficient

0.3125 x 8 = 2 + 0.5 a-1 = 20.5000 x 8 = 4 + 0 a-2 = 4

Answer (0.3125)10 = (0.24)8

Combine the two (175.3125)10 = (257.24)8

Remainder of division

Overflow of multiplication

Page 23: 5. Data Representation Complement

Hexadecimal Numbers

Hexadecimal numbers are made of 16 symbols: (0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F)

Convert a hexadecimal number to decimal (3A9F)16 = 3x163 + 10x162 + 9x161 + 15x160 = 1499910 (3A9F)16 = 3x16 + 10x16 9x16 15x16 = 1499910

Hexadecimal with fractions: (2D3.5)16 = 2x162 + 13x161 + 3x160 + 5x16-1 = 723.312510

Note that each hexadecimal digit can be represented with four bits. (1110) 2 = (E)16

Groups of four bits are called a nibble. (1110) 2

Page 24: 5. Data Representation Complement

Example

Convert the decimal number (107.00390625)10 into hexadecimal number.

Integer remainder

Overflow Fraction

X by 16 .

(107.00390625)10 (6B.01)16

r

107 Divide/16

6 11=B

0 6

X by 16 . 00390625

0 .0625

1 .0000

.Closer to

the period

Page 25: 5. Data Representation Complement

One to one comparison

Binary, octal, and hexadecimal similar

Easy to build circuits to operate on these representationsrepresentations

Possible to convert between the three formats

Page 26: 5. Data Representation Complement

Converting between Base 16 and Base 2

° Conversion is easy!

3A9F16 = 0011 1010 1001 11112

3 A 9 F

Determine 4-bit value for each hex digit

° Note that there are 24 = 16 different values of four bits which means each 16 value is converted to four binary bits.

° Easier to read and write in hexadecimal.

° Representations are equivalent!

Page 27: 5. Data Representation Complement

Converting between Base 16 and Base 8

35237 = 011 101 010 011 111

3A9F16 = 0011 1010 1001 11112

3 A 9 F

1. Convert from Base 16 to Base 2

2. Regroup bits into groups of three starting from right

3. Ignore leading zeros

4. Each group of three bits forms an octal digit (8 is represented by 3 binary bits).

352378 = 011 101 010 011 1112

5 2 3 73

Page 28: 5. Data Representation Complement

ExampleConvert 101011110110011 toa. octal numberb. hexadecimal number

a. Each 3 bits are converted to octal :(101) (011) (110) (110) (011) 5 3 6 6 35 3 6 6 3

101011110110011 = (53663)8

b. Each 4 bits are converted to hexadecimal:(0101) (0111) (1011) (0011) 5 7 B 3

101011110110011 = (57B3)16

Conversion from binary to hexadecimal is similar except that the bitsdivided into groups of four.

Page 29: 5. Data Representation Complement

Binary Coded Decimal• Binary coded decimal (BCD) represents each decimal digit

with four bits

– Ex. 0011 0010 1001 = 32910

• This is NOT the same as 0011001010012

• Why use binary coded decimal? Because people think in decimal.

3 2 9

decimal.Digit BCD Code Digit BCD Code

0 0000 5 0101

1 0001 6 0110

2 0010 7 0111

3 0011 8 1000

4 0100 9 1001

Page 30: 5. Data Representation Complement

BCD versus other codes

° BCD not very efficient

° Used in early computers (40s, 50s)

° Used to encode numbers for seven-segment displays.

° Easier to read?

(Example)

The decimal 99 is represented by 1001 1001.

Page 31: 5. Data Representation Complement

Gray Code

• Gray code is not a number system.

– It is an alternative way to represent four bit data

• Only one bit changes from one decimal digit to

Digit Binary Gray Code

0 0000 0000

1 0001 0001

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

the next

• Useful for reducing errors in communication.

• Can be scaled to larger numbers.

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

11 1011 1110

12 1100 1010

13 1101 1011

14 1110 1001

15 1111 1000

Page 32: 5. Data Representation Complement

ASCII Code• American Standard Code for Information Interchange

• ASCII is a 7-bit code, frequently used with an 8th bit for error detection (more about that in a bit).

Character ASCII (bin) ASCII (hex)

Decimal Octal

A 1000001 41 65 101

B 1000010 42 66 102B 1000010 42 66 102

C 1000011 43 67 103

Z

a

1

Page 33: 5. Data Representation Complement

Complements Complements

Page 34: 5. Data Representation Complement

Subtraction using addition

• Conventional addition (using carry) is easily

• implemented in digital computers.

• However; subtraction by borrowing is difficult and inefficient for digital computers. and inefficient for digital computers.

• Much more efficient to implement subtraction using ADDITION OF the COMPLEMENTS of numbers.

Page 35: 5. Data Representation Complement

Complements of numbers

(r-1 )’s Complement

•Given a number N in base r having n digits,•the (r- 1)’s complement of N is defined as•the (r- 1)’s complement of N is defined as

(rn - 1) - N

•For decimal numbers the base or r = 10 and r- 1= 9,

•so the 9’s complement of N is (10n-1)-N

•99999……. - N

Digit n

Digit n-1

Next digit

Next digit

First digit

9 9 9 9 9

-

Page 36: 5. Data Representation Complement

2- Find the 9’s complement of 546700 and 12389

9’s complement Examples

5 4 6 7 0- 0

9 9 9 9 9 9

The 9’s complement of 546700 is 999999 - 546700= 453299

and the 9’s complement of 12389 is 99999- 12389 = 87610.

4 5 3 2 9 9

1 2 3 8- 9

9 9 9 9 9

8 7 6 1 0

Page 37: 5. Data Representation Complement

l’s complement

• For binary numbers, r = 2 and r — 1 = 1,

• r-1’s complement is the l’s complement.

• The l’s complement of N is (2n - 1) - N.

Digit n

Digit n-1

Next digit

Next digit

First digit

1 1 1 1 1

Bit n-1 Bit n-2 ……. Bit 1 Bit 0

-

Page 38: 5. Data Representation Complement

l’s complement

Find r-1 complement for binary number N with four binary digits.

r-1 complement for binary means 2-1 complement or 1’s complement.r-1 complement for binary means 2-1 complement or 1’s complement.

n = 4, we have 24 = (10000)2 and 24 - 1 = (1111)2.

The l’s complement of N is (24 - 1) - N. = (1111) - N

Page 39: 5. Data Representation Complement

The complement 1’s of0 1 1 0 0- 1

1 1 1 1 1 1

1

1

l’s complement

The complement 1’s of1011001 is 0100110

-1 0 0 1 1 0

0 0 1 1 1- 1

1 1 1 1 1 1

1 1 0 0 0 0

0

The 1’s complement of0001111 is 1110000

0

1

1

Page 40: 5. Data Representation Complement

r’s Complement

•Given a number N in base r having n digits,•the r’s complement of N is defined as

rn - N.

•For decimal numbers the base or r = 10,

•so the 10’s complement of N is 10n-N.

•100000……. - N

Digit n

Digit n-1

Next digit

Next digit

First digit

0 0 0 0 0

-1

Page 41: 5. Data Representation Complement

10’s complement Examples

Find the 10’s complement of 546700 and 12389

The 10’s complement of 546700 5 4 6 7 0- 0

0 0 0 0 0 01

The 10’s complement of 546700 is 1000000 - 546700= 453300

and the 10’s complement of 12389 is

100000 - 12389 = 87611.

Notice that it is the same as 9’s complement + 1.

-4 5 3 3 0 0

1 2 3 8- 9

1 0 0 0 0 0

8 7 6 1 1

Page 42: 5. Data Representation Complement

For binary numbers, r = 2,

r’s complement is the 2’s complement.

2’s complement

The 2’s complement of N is 2n - N.

Digit n

Digit n-1

Next digit

Next digit

First digit

0 0 0 0 0

-1

Page 43: 5. Data Representation Complement

2’s complement Example

The 2’s complement of1011001 is 0100111

0 1 1 0 0- 1

0 0 0 0 0 0

1 0 0 1 1 1

1

0

0

1

The 2’s complement of0001111 is 1110001

1 0 0 1 1 1

0 0 1 1 1- 1

1 1 0 0 0 1

0

0

1

0 0 0 0 0 001

Page 44: 5. Data Representation Complement

Fast Methods for 2’s Complement

Method 1:The 2’s complement of binary number is obtained by adding 1 to the The 2’s complement of binary number is obtained by adding 1 to the l’s complement value.Example:1’s complement of 101100 is 010011 (invert the 0’s and 1’s)2’s complement of 101100 is 010011 + 1 = 010100

Page 45: 5. Data Representation Complement

Fast Methods for 2’s Complement

Method 2:The 2’s complement can be formed by leaving all least significant 0’sand the first 1 unchanged, and then replacing l’s by 0’s and 0’s by l’sand the first 1 unchanged, and then replacing l’s by 0’s and 0’s by l’sin all other higher significant bits.

Example:The 2’s complement of 1101100 is

0010100 Leave the two low-order 0’s and the first 1 unchanged, and then replacing 1’s by 0’s and 0’s by 1’s in the four most significant bits.

Page 46: 5. Data Representation Complement

Examples

– Finding the 2’s complement of (01100101)2

• Method 1 – Simply complement each bit and then add 1 to the result.

(01100101)2

[N] = 2’s complement = 1’s complement (10011010)2 +1

=(10011011)=(10011011)2

• Method 2 – Starting with the least significant bit, copy all the bits up to and including the first 1 bit and then complement the remaining bits.

N = 0 1 1 0 0 1 0 1

[N] = 1 0 0 1 1 0 1 1

Page 47: 5. Data Representation Complement

Subtraction of Unsigned Numbers using r’s complement

Subtract N from M : M – N

• r’s complement N (rn – N )

• add M to ( rn – N ) : Sum = M + ( r n – N)

• take r’s complement (If M N, the negativesign will produce an end carry rn we need to take the r’s complement again.)

Page 48: 5. Data Representation Complement

Subtraction of Unsigned Numbers using r’s complement

• (1) if M N, ignore the carry without taking complement of sum.

• (2) if M < N, take the r’s complement of sum and place negative sign in front of sum and place negative sign in front of sum. The answer is negative.

Page 49: 5. Data Representation Complement

Example 1 (Decimal unsigned numbers),

perform the subtraction 72532 - 13250 = 59282.

M > N : “Case 1” “Do not take complement of sumand discard carry”The 10’s complement of 13250 is 86750.Therefore:

M = 7253210’s complement of N =+86750

Sum= 159282Discard end carry 105= - 100000Answer = 59282 no complement

Page 50: 5. Data Representation Complement

Example 2;Now consider an example with M <N.The subtraction 13250 - 72532 produces negative 59282. Usingthe procedure with complements, we have

M = 1325010’s complement of N = +27468

Sum = 40718

Take 10’s complement of Sum = 100000

-40718

The number is : 59282

Place negative sign in front of the number: -59282