Anda di halaman 1dari 89

Number Systems

Decimal Octal

Binary

Hexadecimal
1

Lecture Template:
Types of number systems Number bases Range of possible numbers Conversion between number bases Common powers Arithmetic in different number bases Shifting a number

Types of Number Systems Additive:

Numbers have intrinsic value: e.g.: Roman Numerals: LVIII = 50 + 5 + 1 + 1 + 1 = 58

Positional:

Value depends on position: e.g.: Decimal system: 55 = 5 x 10 + 5 x 1

Additive Number Systems


much any more:
Awkward to use. Prone to errors.

are not used

Definitions The Base of a number system how many different digits (incl. zero) are used in the system.
0, 1 0, 1, 2, 3, 4 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
4

Base 2: Base 5: Base 8: Base 10: Base 16:

Definitions Bit a cell holding a single binary number (0 or 1) Byte = 8 bits (can hold 28 = 256 different patterns/values) Word a fixed-sized group of bits that the computer handles together. Typical word sizes: 4, 8, 16, 32, 64, 128 bits 1K = 1024 bytes

Magnetic Core Memory

http://en.wikipedia.org/wiki/Computer

Common Number Systems

System Decimal

Base Symbols 10 0, 1, 9

Used by Used in humans? computers? Yes No

Binary
Octal Hexadecimal

2
8 16

0, 1
0, 1, 7 0, 1, 9, A, B, F

No
No No

Yes
Yes Yes

Positional decimal system The number 125 means:


1 group of 100 2 groups of 10 5 groups of 1 (100 = 102) (10 = 101) (1 = 100)

Place values (1 of 2)
In our usual positional number system, the meaning of a digit depends on where it is located in the number
Example:

3732

3 groups of 1000
7 groups of 100 3 groups of 10 2 groups of 1
9

Place values (2 of 2)

Weight

12510 =>

5 x 100 2 x 101 1 x 102

= 5 = 20 = 100 125

Base
10

Representing in bases: 10, 2, 8, 16


86510 = 8 x 102 + 6 x 101 + 5 x 100 = 800 + 60 + 5 10112 = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 8 + 2 + 1 = 1110 258 = 2 x 81 + 5 x 80 = 16 + 5 = 2110 A716 = 10 x 161 + 7 x 160 = 160 + 7 = 16710
Base

Note: The subscript naming the base is itself given in base ten (10), by convention.
11

Counting in bases (1 of 3)
Hexadecimal
0 1

Decimal 0 1

Binary 0 1

Octal 0 1

2 3 4 5 6 7

10 11 100 101 110 111

2 3 4 5 6 7

2 3 4 5 6 7
12

Counting in bases (2 of 3)
Hexadecimal
8 9

Decimal 8 9

Binary 1000 1001

Octal 10 11

10 11 12 13 14 15

1010 1011 1100 1101 1110 1111

12 13 14 15 16 17

A B C D E F
13

Counting in bases (3 of 3)
Hexadecimal
10 11

Decimal 16 17

Binary 10000 10001

Octal 20 21

18 19 20 21 22 23

10010 10011 10100 10101 10110 10111

22 23 24 25 26 27

12 13 14 15 16 17
14

Estimating magnitude: Binary

1101 01102 = 21410 1101 01102 > 19210 (128 + 64 + additional bits to the right)
Place
Value Evaluate Sum for Base 10

27
128 1 x 128 128

26
64 1 x 64 64

25
32 0 x 32 0

24
16 1 x16 16

23
8 0x8 0

22
4 1x4 4

21
2 1x2 2

20
1 0x1 0

15

Range of possible numbers

R = BK where
R = range B = base K = number of digits

Example #1: Base 10, 2 digits


R = 102 = 100 different numbers (099)

Example #2: Base 2, 16 digits


R = 216 = 65,536 or 64K 16-bit PC can store 65,536 different number values
16

Decimal Range for Bit Widths


Bits
1

Digits
0+

Range
2 (0 and 1)

4
8 10 16 20 32 64 128

1+
2+ 3 4+ 6 9+ 19+ 38+

16 (0 to 15)
256 1,024 (1K) 65,536 (64K) 1,048,576 (1M) 4,294,967,296 (4G) Approx. 1.6 x 1019 Approx. 2.6 x 1038
17

See also Ch. 3, p. 74

Conversion Among Bases

Decimal

Octal

Binary

Hexadecimal

18

Binary to Decimal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

19

Binary to Decimal (2 of 3)

Technique
Multiply each bit by 2n, where n is the weight of the bit The weight is the position of the bit, starting from 0 on the right Add the results

20

Binary to Decimal (3 of 3)

Bit 0 1010112 => 1 1 0 1 0 1 x x x x x x 20 21 22 23 24 25 = = = = = = 1 2 0 8 0 32 4310


21

Octal to Decimal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

22

Octal to Decimal (2 of 3)

Technique
Multiply each bit by 8n, where n is the weight of the bit The weight is the position of the bit, starting from 0 on the right Add the results together

Note: 80 = 1, 82 = 64

81 = 8, 83 = 512, Etc.
23

Octal to Decimal (3 of 3)

7248 =>

4 x 80 = 2 x 81 = 7 x 82 =

4 x 1 2 x 8 7 x 64

= 4 = 16 = 448 46810

24

Hexadecimal to Decimal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

25

Hexadecimal to Decimal (2 of 3)

Technique
Multiply each bit by 16n, where n is the weight of the bit The weight is the position of the bit, starting from 0 on the right Add the results

Note: 160 = 1, 161 = 16, 162 = 256 163 = 4096, Etc.


26

Hexadecimal to Decimal (3 of 3)

ABC16 =>

C x 160 = 12 x 1 = 12 B x 161 = 11 x 16 = 176 A x 162 = 10 x 256 = 2560


274810

27

Decimal to Binary (1 of 3)

Decimal

Octal

Binary

Hexadecimal

28

Decimal to Binary (2 of 3)

Technique
Divide by two, keep track of the remainder First remainder is bit 0 (LSB, least-significant bit) Second remainder is bit 1 Etc.

29

Decimal to Binary (3 of 3)
12510 = ?2 2 125 2 62 2 31 2 15 7 2 3 2 1 2 0

1 0 1 1 1 1 1

12510 = 11111012
30

Octal to Binary (1 of 3)

Decimal

Octal

Binary

Hexadecimal

31

Octal to Binary (2 of 3) Technique


Convert each octal digit to a 3-bit equivalent binary representation

See Table, Slides 12-14

32

Octal to Binary (3 of 3)
7058 = ?2
7 0 5

111 000 101

7058 = 1110001012
33

Hexadecimal to Binary (1 of 3)

Decimal

Octal

Binary

Hexadecimal

34

Hexadecimal to Binary (2 of 3) Technique


Convert each hexadecimal digit to a 4-bit equivalent binary representation

See Table, Slides 12-14

35

Hexadecimal to Binary (3 of 3)
10AF16 = ?2
1 0 A F

0001 0000 1010 1111

10AF16 = 00010000101011112
36

Decimal to Octal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

37

Decimal to Octal (2 of 3) Technique


Divide by 8 Keep track of the remainder

38

Decimal to Octal (3 of 3)
123410 = ?8 8 8 8 8 1234 154 19 2 0
2 2 3 2

123410 = 23228

39

Decimal to Hexadecimal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

40

Decimal to Hexadecimal (2 of 3) Technique


Divide by 16 Keep track of the remainder

41

Decimal to Hexadecimal (3 of 3)

123410 = ?16
16 16 16 1234 77 4 0

2 13 = D 4

123410 = 4D216
42

Binary to Octal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

43

Binary to Octal (2 of 3) Technique


Group bits in threes, starting on right Convert to octal digits

See Table, Slides 12-14

44

Binary to Octal (3 of 3)
10110101112 = ?8

1 011 010 111

10110101112 = 13278
45

Binary to Hexadecimal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

46

Binary to Hexadecimal (2 of 3) Technique


Group bits in fours, starting on right Convert to hexadecimal digits

See Table, Slides 12-14

47

Binary to Hexadecimal (3 of 3)
10101110112 = ?16
10 1011 1011

10101110112 = 2BB16
48

Octal to Hexadecimal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

49

Octal to Hexadecimal (2 of 3) Technique


Use binary as an intermediary

See Table, Slides 12-14

50

Octal to Hexadecimal (3 of 3)
10768 = ?16
1 0 7 6

001 2

000 3

111

110 E

10768 = 23E16

51

Hexadecimal to Octal (1 of 3)

Decimal

Octal

Binary

Hexadecimal

52

Hexadecimal to Octal (2 of 3) Technique


Use binary as an intermediary

See Table, Slides 12-14

53

Hexadecimal to Octal (3 of 3)

1F0C16 = ?8
1 F 0 C

0001 1

1111 7 4

0000 1

1100 4

1F0C16 = 174148

54

Exercise Convert ...


Hexadecimal

Decimal 33

Binary 1110101

Octal

703
1AF
Dont use a calculator! Skip answer Answer
55

Exercise Convert (answers)


Hexadecimal 21

Decimal 33

Binary 100001

Octal 41

117
451 431

1110101
111000011 110101111

165
703 657

75
1C3 1AF

56

Common Powers (1 of 2) Base 10


Power
10-12

Preface pico

Symbol p

Value .000000000001

10-9
10-6 10-3 103 106 109 1012

nano
micro milli kilo mega giga tera

n
m k M G T

.000000001
.000001 .001 1000 1000000 1000000000 1000000000000
57

Common Powers (2 of 2) Base 2

Power
210 220 230

Preface
kilo mega

Symbol
k M

Value
1024 1048576

Giga

1073741824

What is the value of k, M, and G? In computing, particularly w.r.t. memory, the base-2 interpretation generally applies
58

Example

1. Double click on My Computer 2. Right click on C: 3. Click on Properties

/ 230 =
59

Multiplying powers For common bases, add powers


ab ac = ab+c 26 210 = 216 = 65,536

or
26 210 = 64 210 = 64k
60

Table of powers

Power Base 2

256

128

64

32

16

32,768

4,096

512

64

16

65,536 4,096

256

16

61

Fractions Number point or radix point


Decimal point in base 10 Binary point in base 2

No exact relationship between fractional numbers in different number bases


Exact conversion may be impossible

62

Decimal fractions

Move the number point one place to the right


Effect: multiplies the number by the base number Example: 139.010 139010

Move the number point one place to the left


Effect: divides the number by the base number Example: 139.010 13.910
63

Fractions: Base 10
10-1 10-2 10-3 10-4

.258910

Place Value Evaluate Sum

10-1 1/10 2 x 1/10 .2

10-2 1/100 5 x 1/100 .05

10-3 1/1000 8 x 1/1000 .008

10-4 1/10000 9 x1/10000 .0009

64

Fractions: Base 2
2-1 2-2 2-3 2-4 2-5 2-6

.1010112 = 0.67187510
Place
2-1 1/2 1 x 1/2 .5 2-2 1/4 0 x 1/4 2-3 1/8 1x 1/8 0.125 2-4 1/16 0 x 1/16 2-5 1/32 1 x 1/32 0.03125 2-6 1/64 1 x 1/64 0.015625

Value
Evaluate Sum

65

Fractions: Base 10 and Base 2

No general relationship between fractions of types 1/10k and 1/2k


Therefore a number representable in base 10 may not be representable in base 2 But: the converse is true: all fractions of the form 1/2k can be represented in base 10

Fractional conversions from one base to another are stopped


If there is a rational solution, or When the desired accuracy is attained
66

Fractions: From Base B To Base 10


Determine the appropriate weight for each fractional digit as a negative power of the base Multiply each digit by its weight Add the values Example:
.A116 = 10x16-1 + 1x16-2 = 10x0.0625 + 1x0.00390625 = 0.6289062510

67

Fractions: From Base 10 To Base B Multiply the fraction by the base value B (i.e., 2, 8 or 16) Record the values that move to the left of the radix point and drop them Repeat the process until

the value being multiplied is zero, or the desired number of digits of accuracy is attained
68

Fractions: From Base 10 To Base B


0.67312510 = ?2 0.673125 x 2 1.346250 x 2 0.692500 x 2 1.385000 x 2 0.770000 x 2 1.540000 x 2 1.080000

0.1010112

69

Fractions: From Base 2 To Base 8, 16

Group digits from left to right in groups of 3 (base 8) or 4 (base 16) Supplement the right-most group with 0s, if necessary Convert each group to the desired base.

See Table, Slides 12-14

70

Fractions: From Base 8, 16 To Base 2

Convert each octal (base 8) or hexadecimal (base 16) digit to its 3bit or 4-bit representation

See Table, Slides 12-14

71

Fractions: between Base 8 and Base 16 Use binary conversion as an intermediary Example: 0.C816 = ?8

1100 10002
6 2 0 0.C816 = 0.628
72

Mixed number conversion

Convert whole part and fraction part separately

See Table, Slides 12-14

73

Arithmetic operations (1 of 14) Binary Addition


Two 1-bit values

A 0 0 1 1

B 0 1 0 1

A+B 0 1 1 10

0 and carry 1 to the next more significant bit, i.e. 74 two

Arithmetic operations (2 of 14) Two n-bit values


Add individual bits (see Table) Propagate carries

10101 + 11001 101110

21 + 25 46

Note: superscripts are carried amounts.


75

Addition (different bases) (3 of 14)

Base Decimal Octal Hexadecimal

Problem 6 +3 6 +1 6 +9

Largest Single Digit 9 7 F

Binary

1 +0

76

Addition (different bases) (4 of 14)

Base Decimal Octal Hexadecimal Binary

Problem 6 +4 6 +2 6 +A 1 +1

Carry Carry the 10 Carry the 8 Carry the 16 Carry the 2

Answer 10 10 10 10

77

Addition Table: Base 10 (5 of 14)


310 + 610 = 910
+ 0 1 2 3 4 5 6 7 8 9

0
1 2 3 4

0
1 2 3 4

1
2 3 4 5

2
3 4 5 6

3
4 5 6 7

4
5 6 7 8

5
6 7 8 9

6
7 8 9 10

7
8 9 10 11

8
9 10 11 12

9
10 11 12 13
78

etc

Addition Table: Base 8 (6 of 14)

38 + 68 = 118
+ 0 1 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 10

2
3 4 5 6 7

2
3 4 5 6 7

3
4 5 6 7 10

4
5 6 7 10 11

5
6 7 10 11 12

6
7 10 11 12 13

7
10 11 12 13 14

10
11 12 13 14 15

11
12 13 14 15 16
79

Arithmetic operations (7 of 14) Binary Subtraction


Two 1-bit values

A 0 0 1 1

B 0 1 0 1

A-B 0 1 1 0

and borrow 1 from the next more significant bit

80

Arithmetic operations (8 of 14)


Two

n-bit values

Subtract individual bits (see Table) Keep track of the borrowings 00100101 00010001 = 00010100

00100101 - 00010001 00010100

0 10

3710 - 1710 2010


81

Arithmetic operations (9 of 14) Multiplication


Decimal (just for fun)

35 x 105 175 000 35 3675


82

Arithmetic operations (10 of 14)


Binary multiplication, two 1-bit values
A B AB

0
0

0
1

0
0

1
1

0
1

0
1
83

Arithmetic operations (11 of 14) Binary multiplication, two n-bit values


As with decimal values

1110 x 1011 1110 1110 0000 1110 10011010


84

Multiplication Table: Base 10 (12 of 14)


310 x 610 = 1810
x 0 1 1 2 0 1 2 3 0 3 4 5 6 7 8 9 4 5 6 7 8 9

2
3 4 5 6 7 0

2
3 4 5 6 7

4
6 8 10 12 14

6
9 12 15 18 21

8
12 16 20 24 28

10
15 20 25 30 35

12
18 24 30 36 42

14
21 28 35 42 49

16
24 32 40 48 56

18
27 36 45 54 63
85

etc.

Multiplication Table: Base 8 (13 of 14)


38 x 68 = 228
x 0 1 1 2 0 1 2 3 0 3 4 5 6 7 4 5 6 7

2
3 4 5 6 7 0

2
3 4 5 6 7

4
6 10 12 14 16

6
11 14 17 22 25

10
14 20 24 30 34

12
17 24 31 36 43

14
22 30 36 44 52

16
25 34 43 52 61
86

Arithmetic operations (14 of 14)

Binary division, two n-bit values


As with decimal values
1011 11

quotient

100001/11 = 1011

11 ) 100001 00100 11 11 11 0

divisor

dividend

87

Shifting a number

Shifting a decimal number to the left by one position is equivalent to multiplying by 10 Shifting a binary number to the left by one position is equivalent to multiplying by 2 General rule: shifting a number in any base left one digit multiplies its value by the base; shifting one digit right divides its value by the base
88

Thank you!
Reading: Lecture slides and notes, Chapter 3

89

Anda mungkin juga menyukai