1 number systems- - web.ntnu.edu.twtcchiang/introcs/1_number systems.pdf · b. forouzan and f....

24
1 Introduction to Computer Science, Fall, 2010 Number Systems Instructor: Tsung-Che Chiang [email protected] Department of Computer Science and Information Engineering National Taiwan Normal University 2 Introduction to Computer Science, Fall, 2010 Outline Positional Number Systems Conversion between Positional Number Systems Non-positional Number Systems Summary

Upload: lykhanh

Post on 25-Jan-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

1

Introduction to Computer Science, Fall, 2010

Number Systems

Instructor: Tsung-Che [email protected]

Department of Computer Science and Information EngineeringNational Taiwan Normal University

2Introduction to Computer Science, Fall, 2010

Outline

Positional Number SystemsConversion between Positional Number

SystemsNon-positional Number SystemsSummary

Page 2: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

2

3Introduction to Computer Science, Fall, 2010

Introduction

A number system defines how a number canbe represented using distinct symbols.

A number can be represented differentlyin different systems. For example, the two numbers (2A)16 and (52)8

both refer to the same quantity, (42)10.

4Introduction to Computer Science, Fall, 2010

Positional Number Systems

In a positional number system, the position asymbol occupies in the number determines thevalue it represents.

In this system, a number represented as:

has the value of:

b is the base.

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

Page 3: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

3

5Introduction to Computer Science, Fall, 2010

The Decimal System (base 10)

The word decimal is derived from the Latin rootdecem (ten).

Base b = 10.

Ten symbols: S = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} The symbols in this system are often referred to

as decimal digits or just digits.

6Introduction to Computer Science, Fall, 2010

The Decimal System (base 10)

Integer values

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

Page 4: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

4

7Introduction to Computer Science, Fall, 2010

The Decimal System (base 10)

Real values

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

8Introduction to Computer Science, Fall, 2010

The Decimal System (base 10)

Abacus –a device that uses positionalnotation to represent a decimal number.

Page 5: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

5

9Introduction to Computer Science, Fall, 2010

The Binary System (base 2)

The word binary is derived from the Latin rootbini (double).

Base b = 2.

Ten symbols: S = {0, 1} The symbols in this system are often referred to

as binary digits or just bits.

10Introduction to Computer Science, Fall, 2010

The Binary System (base 2)

Integer values

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

(11001)2 = (25)10?

Page 6: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

6

11Introduction to Computer Science, Fall, 2010

The Binary System (base 2)

Real values

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

(101.11)2 = (5.75)10?

12Introduction to Computer Science, Fall, 2010

The Binary System (base 2)

Chinese binary system

Page 7: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

7

13Introduction to Computer Science, Fall, 2010

The Hexadecimal System (base 16)

The word hexadecimal is derived from the Greekroot hex (six) and Latin root decem (ten).

Base b = 16.

Ten symbols: S = {0, 1, …, 8, 9, A, B, C, D, E, F} The symbols in this system are often referred to

as hexadecimal digits.

14Introduction to Computer Science, Fall, 2010

The Hexadecimal System (base 16)

Integer values

(2AE)16 = (686)10

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

?

Page 8: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

8

15Introduction to Computer Science, Fall, 2010

The Octal System (base 8)

The word octal is derived from the Latin root octo(eight).

Base b = 8.

Ten symbols: S = {0, 1, 2, 3, 4, 5, 6, 7}

16Introduction to Computer Science, Fall, 2010

The Octal System (base 8)

(1256)8 = (686)10

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

?

Page 9: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

9

17Introduction to Computer Science, Fall, 2010

Summary of the Four PositionalNumber Systems

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

18Introduction to Computer Science, Fall, 2010

Summary of the Four PositionalNumber Systems

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

Page 10: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

10

19Introduction to Computer Science, Fall, 2010

Conversion between Number Systems

We will introduce how to do the followingconversions: Binary/Hex/Octal Decimal.Decimal Binary/Hex/Octal. Binary Hex/Octal

20Introduction to Computer Science, Fall, 2010

Conversion between Number Systems

Binary/Hex/Octal Decimal.

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

(110.11)2 = (6.75)10

Page 11: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

11

21Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/Octal (Integral part)

B. Forouzan and F. Mosharraf,Foundations of Computer Science, 2nded., 2008.

22Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/Octal

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

Page 12: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

12

23Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/Octal

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

(35)10 = (100011)2

35 = 172 + 1= (82 + 1)2 + 1…

= 1721 + 120

= 822 + 121 + 120

24Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/Octal

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

(126)10 = (7E)16

(126)10 = (176)8

?

?

Page 13: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

13

25Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/Octal (Fractional part)

B. Forouzan and F. Mosharraf,Foundations of Computer Science, 2nd ed.,2008.

26Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/Octal (Fractional part)

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

Page 14: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

14

27Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/Octal (Fractional part)

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

(0.625)10 = (0.101)2

0.625 = 2-1(210.625) = 2-1(1.25)= 2-1(1 + 0.25)= 2-1(1 + 2-1(210.25))= 2-1(1 + 2-1(0 + 0.5))= 2-1(1 + 2-1(0 + 2-1(210.5)))= 2-1(1 + 2-1(0 + 2-1(1 + 0)))

28Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/Octal (Fractional part)

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

(0.634)10 = (0.5044)8

(maximum of four digits)

(178.6)10 = (B2.9)16?

?

Page 15: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

15

29Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/OctalAn alternative method: (usu. for small values)

To break the number as the sum of numbersthat are equivalent to the binary place valuesshown.

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

30Introduction to Computer Science, Fall, 2010

Decimal-Others Conversion

Decimal Binary/Hex/OctalAn alternative method: (usu. for small values)

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

Page 16: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

16

31Introduction to Computer Science, Fall, 2010

Binary-Hexadecimal Conversion

four-bit grouping

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

(10011100010)2 (?)16

32Introduction to Computer Science, Fall, 2010

Binary-Hexadecimal Conversion

Binary Hex

Hex Binary

(10011100010)2 (100 1110 0010)2 (4E2)16

(24C)16 (0010 0100 1100)2 (1001001100)2

Page 17: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

17

33Introduction to Computer Science, Fall, 2010

Binary-Hexadecimal Conversion

Binary Hex

Hex Binary

(11010101011)2 (110 1010 1011)2 (6AB)16

(58F)16 (0101 1000 1111)2 (10110001111)2

??

??

34Introduction to Computer Science, Fall, 2010

Binary-Octal Conversion

three-bit grouping

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

Page 18: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

18

35Introduction to Computer Science, Fall, 2010

Binary-Octal Conversion

Binary Octal

Octal Binary

(101110010)2 (101 110 010)2 (562)8

(24)8 (010 100)2 (10100)2

36Introduction to Computer Science, Fall, 2010

Binary-Octal Conversion

Binary Octal

Octal Binary

(11100110011)2 (011 100 110 011)2 (3463)8

(765)8 (111 110 101)2 (111110101)2

??

??

Page 19: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

19

37Introduction to Computer Science, Fall, 2010

Octal-Hex Conversion

Convert with the aid of binary systems

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

38Introduction to Computer Science, Fall, 2010

Number of Digits

Quiz:

Find the minimum number of binary digitsrequired to store decimal integers with amaximum of six digits.

Page 20: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

20

39Introduction to Computer Science, Fall, 2010

Number of Digits

How can we know the number of digitsrequired to store a k-digit-base-b1 integralvalue in the base-b2 system?

Maximum k-digit value in base b1:Maximum x-digit value in base b2:

(b1k –1)

(b2x –1)

(b2x –1) (b1

k –1) x k(log b1 / log b2)

40Introduction to Computer Science, Fall, 2010

Number of Digits

Quiz:

Find the minimum number of binary digitsrequired to store decimal integers with amaximum of six digits.

219 = 524288220 = 1048576

k = 6, b1 = 10, b2 = 2.x 6(log b1 / log b2) = 6(1/0.30103) = 19.9 x = 20

Page 21: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

21

41Introduction to Computer Science, Fall, 2010

Non-positional Number System

A non-positional number system still uses a limitednumber of symbols in which each symbol has avalue.

However, the position a symbol occupies in thenumber normally bears no relation to its value—thevalue of each symbol is fixed.

To find the value of a number, we add the value ofall symbols present in the representation.

42Introduction to Computer Science, Fall, 2010

Non-positional Number System

In this system, a number is represented as:

and has the value of:

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

There are some exceptions to the addition rule we just mentioned, as shown in thefollowing example.

Page 22: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

22

43Introduction to Computer Science, Fall, 2010

Non-positional Number System

Example: Roman numerals

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

44Introduction to Computer Science, Fall, 2010

Non-positional Number System

Example: Roman numerals When a symbol with a smaller value is placed after a

symbol having an equal or larger value, the valuesare added.

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

Page 23: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

23

45Introduction to Computer Science, Fall, 2010

Non-positional Number System

Example: Roman numerals When a symbol with a smaller value is placed before

a symbol having a larger value, the smaller value issubtracted from the larger one.

B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008.

46Introduction to Computer Science, Fall, 2010

Non-positional Number System

Example: Roman numerals For other rules, please refer to the text book.

Page 24: 1 Number Systems- - web.ntnu.edu.twtcchiang/IntroCS/1_Number Systems.pdf · B. Forouzan and F. Mosharraf, Foundations of Computer Science, 2nd ed., 2008. 26 Introduction to Computer

24

47Introduction to Computer Science, Fall, 2010

Summary

Number systems Positional vs. Non-positional

Positional systemsDecimal BinaryOctalHexadecimal

Non-positional systems Roman numeral

conversion