You are on page 1of 50

Representasi Data

Type Data

1.

2.

3.

Jenis data yang disimpan dalam komputer digital


dapat diklasifikasikan sebagai salah satu dari
kategori berikut:
angka yang digunakan dalam perhitungan
aritmatika,
huruf-huruf alfabet yang digunakan dalam
pengolahan data, dan
simbol diskrit lain yang digunakan untuk tujuan
tertentu.

Semua jenis data yang direpresentasikan dalam


komputer dalam bentuk kode-biner.

Representasi Radix
Radix atau basis: adalah jumlah
simbol yang digunakan untuk mewakili
nilai. Sebuah sistem jumlah radix r
menggunakan string yang terdiri dari
simbol r yang berbeda untuk mewakili
nilai.

Radix representation of
numbers

Example: convert the following number to


the radix 10 format. 97654.35
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

Binary Numbers

Binary numbers are made of binary


digits (bits):
0 and 1

Convert the following to decimal


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

Example

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


decimal.
The position value is power of 2

1.

22

21

20

2-1

2-2

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

Binary Addition
Example Add (11110)2 to
(10111)2
1 1 1 1
1 1 1 0 1
+
1 0 1 1 1
--------------------1 0 1 0 1 0 0
carry
(111101)2 + (10111) 2 = (1010100)2
1

1
1

carries

Binary Subtraction

We can also perform subtraction (with borrows).


Example: subtract (10111) from (1001101)

1
0 10 10
1

1+1=
2

10
0 0 10

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

borrows

The Growth of Binary Numbers


n
0
1

2n
20=1
21=2

2
3
4
5

22=4
23=8
24=16
25=32

6
7

26=64
27=12
8

n
8

2n
28=256

9
10

29=512
210=102
4
211=204
8
212=409
6
220=1M
230=1G
240=1T

11
12
20
30
40

Mega
Giga
Tera

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

Counting in Octal
0

10 11 12 13 14 15 16 17
20 21 22 23 24 25 26 27

Conversion Between Number Bases


Octal(base 8)

Decimal(base 10)

Binary(base 2)

Hexadecimal

We normally convert to base 10

because we are naturally used to the


decimal number system.

We can also convert to other number


systems

(base16)

Converting an Integer from Decimal to Another Base

For each digit position:


1. Divide the decimal number by the base (e.g. 2)
2. The remainder is the lowest-order digit
3. Repeat the first two steps until no divisor
remains.
4. For binary the even number has no remainder
0, while the odd has 1

Converting an Integer from Decimal to


Another Base

Example for (13)10:

Integer
Quotient

13/2 =
6/2 =
3/2 =
1/2 =

Remainder

(12+1)
( 6+0 )
(2+1 )
(0+1)

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

Coefficient

a0 = 1
a1 = 0
a2 = 1
a3 = 1

Converting a Fraction from Decimal


to Another Base
For each digit position:
1. Multiply decimal number by the base (e.g. 2)
2. The integer is the highest-order digit
3. Repeat the first two steps until fraction becomes zero.

Converting a Fraction from Decimal


to Another Base

Example for (0.625)10:


Integer
0.625 x 2 =
0.250 x 2 =
0.500 x 2 =

1
0
1

Fraction
+
+
+

0.25
0.50
0

Coefficient
a-1 = 1
a-2 = 0
a-3 = 1

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

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 and
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 part
and remove the integer. Arrange the sequence of integers left
to right from the period. (Most significant fraction bit first)

(Example) (41.6875)10 (?)2


Integer = 41, Fraction = 0.6875
Integer
41
/2
20
10
5
2
1

remainder
1
0
0
1
0
1

Closer to

the point

Overflow

Fraction

X by 2

.6875

.3750

.750

.5

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)

Converting an Integer from


Decimal to Octal
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.

Converting an Integer from


Decimal to Octal
Example for (175)10:
Integer
Quotient

175/8 =
21/8 =
2/8 =

21
2
0

Remainder

+
+
+

7/8
5/8
2/8

Coefficient

a0 = 7
a1 = 5
a2 = 2

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

Converting an Integer from


Decimal to Octal
For each digit position:
1. Multiply decimal number by the base (e.g. 8)
2. The integer is the highest-order digit
3. Repeat first two steps until fraction becomes
zero.

Converting an Integer from


Decimal to Octal
Example for (0.3125)10:
Integer

0.3125 x 8 =
0.5000 x 8 =

2
4

+
+

Fraction

Coefficient

0.5
0

a-1 = 2
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

Hexadecimal Numbers

Hexadecimal numbers are made of 16 symbols:

Convert a hexadecimal number to decimal

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

Note that each hexadecimal digit can be represented


with four bits.

(3A9F)16 = 3x163 + 10x162 + 9x161 + 15x160 = 1499910

Hexadecimal with fractions:

(0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F)

(1110) 2 = (E)16

Groups of four bits are called a nibble.

(1110) 2

Example

Convert the decimal number


(107.00390625)10 into hexadecimal number.
Integer

remainde
r

107

Divide/16

11=B

Closer to

.
the period

Overflow

Fraction

X by 16

.
00390625

.0625

.0000

(107.00390625)10 (6B.01)16

One to one comparison

Binary, octal, and


hexadecimal similar
Easy to build circuits to
operate on these
representations
Possible to convert
between the three
formats

Converting between Base 16 and


Base 2
3A9F16 = 0011 1010 1001 11112
3

Conversion is easy!
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!

Converting between Base 16 and


Base 8
3A9F16 = 0011 1010 1001 11112
3

352378 =

011 101 010 011 1112


3

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

Example
Convert 101011110110011 to
a.
octal number
b. hexadecimal number
a.

Each 3 bits are converted to octal :


(101) (011) (110) (110) (011)

5
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 bits
divided into groups of four.

Binary Coded Decimal

Binary coded decimal (BCD) represents each decimal digit


with four bits
Ex. 0011 0010 1001 = 32910
3

This is NOT the same as 0011001010012


Why use binary coded decimal? Because people think in
decimal.
Digit
BCD Code Digit
BCD Code
0
1
2
3
4

0000
0001
0010
0011
0100

5
6
7
8
9

0101
0110
0111
1000
1001

BCD versus other codes

BCD not very efficient

Used in early
computers (40s, 50s)

Used to encode
numbers for sevensegment displays.

Easier to read?

(Example)
The decimal 99 is represented
by 1001 1001.

Gray Code
Digit

Binary

Gray Code

0000

0000

0001

0001

0010

0011

0011

0010

0100

0110

0101

0111

0110

0101

0111

0100

1000

1100

1001

1101

10

1010

1111

11

1011

1110

12

1100

1010

13

1101

1011

14

1110

1001

15

1111

1000

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
the next
Useful for reducing
errors in communication.
Can be scaled to larger
numbers.

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

1000001

41

65

101

1000010

42

66

102

1000011

43

67

103

Z
a

Complements

Subtraction using addition


Conventional addition (using carry) is easily
implemented in digital computers.
However; subtraction by borrowing is difficult
and inefficient for digital computers.
Much more efficient to implement subtraction
using ADDITION OF the COMPLEMENTS of
numbers.

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
(rn - 1) - N
For decimal numbers the
base or r = 10 and r- 1= 9,
so the 9s complement of N
is
(10n-1)-N
99999. - N

Digit
n

Digit
n-1

Next
digit

Next
digit

First
digit

9s complement Examples

2- Find the 9s complement of 546700 and 12389

The 9s complement of 546700 is 999999 - 546700=


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

ls complement
For binary numbers, r = 2 and r 1 = 1,
r-1s complement is the ls complement.
The ls complement of N is (2n - 1) - N.

Bit n-1

Bit n-2

Bit 1

Bit 0

Digit
n

Digit
n-1

Next
digit

Next
digit

First
digit

ls complement

Find r-1 complement for binary number N with four binary digits.
r-1 complement for binary means 2-1 complement or 1s complement.
n = 4, we have 24 = (10000)2 and 24 - 1 = (1111)2.
The ls complement of N is (24 - 1) - N. = (1111) - N

ls complement

The complement 1s of
1011001 is 0100110

The 1s complement of
0001111 is 1110000

rs Complement
Given a number N in base r having n digits,
the rs complement of N is defined as
rn - N.
For decimal numbers the
base or r = 10,
1

so the 10s complement of N


is
10n-N.
100000. - N

Digit
n

Digit
n-1

Next
digit

Next
digit

First
digit

10s complement Examples


Find the 10s complement of
546700 and 12389
The 10s complement of 546700
is 1000000 - 546700= 453300

and the 10s complement of


12389 is
100000 - 12389 = 87611.
Notice that it is the same as 9s
complement + 1.

2s complement
For binary numbers, r = 2,
rs complement is the 2s complement.
The 2s complement of N is 2n - N.

Digit
n

Digit
n-1

Next
digit

Next
digit

First
digit

2s complement Example
1

The 2s complement of
1011001 is 0100111

The 2s complement of
0001111 is 1110001

Fast Methods for 2s


Complement

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

Fast Methods for 2s


Complement
Method 2:
The 2s complement can be formed by leaving all least significant 0s
and the first 1 unchanged, and then replacing ls by 0s and 0s by ls
in all other higher significant bits.
Example:
The 2s complement of 1101100 is
0010100
Leave the two low-order 0s and the first 1 unchanged, and then
replacing 1s by 0s and 0s by 1s in the four most significant bits.

Examples
Finding the 2s complement of (01100101)2

Method 1 Simply complement each bit and then


add 1 to the result.
(01100101)2
[N] = 2s complement = 1s complement (10011010)2 +1
=(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

[N]

=01100101
=10011011

Subtraction of Unsigned Numbers


using rs complement
Subtract N from M :

MN

rs complement
add M to ( rn N ) :

(rn N )

Sum = M + ( r n N)

take rs complement (If M N, the negative


sign will produce an end carry rn we need to
take the rs complement again.)

Subtraction of Unsigned Numbers


using rs complement
(1) if M N, ignore the carry without taking
complement of sum.
(2) if M < N, take the rs complement of
sum and place negative sign in front of
sum. The answer is negative.

Example 1 (Decimal unsigned numbers),


perform the subtraction 72532 - 13250 = 59282.
M > N : Case 1 Do not take complement of sum
and discard carry
The 10s complement of 13250 is 86750.
Therefore:
M=
72532
10s complement of N =+86750
Sum=
159282
Discard end carry 105= - 100000
Answer = 59282
no complement

Example 2;
Now consider an example with M <N.
The subtraction 13250 - 72532 produces negative 59282. Using
the procedure with complements, we have
M = 13250
10s complement of N = +27468
Sum = 40718
Take 10s complement of Sum

100000
-40718

The number is :

59282

Place negative sign in front of the number: -59282