49
1 บบบบบ 3 บบบบบบบ บบบบบบบบบบบบบ บบบบบบ รรรรรรรรรรรรรรร (รรรร รรร 2 รรร 8 รรร รรร 16) รรรรรรรรรรรรร รรรรรรรรรรรรรรรรรรรรร 2 รรร 8 รรรรรร 16 รรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรร รรรรรรรรรรรรรรรรรรรรรร BCD, EBCDIC, ASCII รรรรรรรรรรรรรรรรรรรรรรรรรรรร รรรรรรรรรร รรรรรรรรรร

สอนเลขฐาน

Embed Size (px)

Citation preview

Page 1: สอนเลขฐาน

1

บทท�� 3 ระบบเลข และการแทนรหั�สข�อมู�ลระบบเลขฐานต่�างๆ (เน�น ฐาน 2 ฐาน 8 และ ฐาน 16)

การแปลงเลขฐาน ความสั�มพั�นธ์�ของเลขฐาน 2 ฐาน 8 และฐาน 16

การค�านวณทางคณ�ต่ศาสัต่ร�ในระบบเลขฐานการแทนรหั�สัข�อม#ลในระบบ BCD, EBCDIC, ASCIIการแทนรหั�สัข�อม#ลของจำ�านวนเลข จำ�านวนเต่%ม

จำ�านวนจำร�ง

Page 2: สอนเลขฐาน

2

ระบบเลขฐาน (ฐาน 2,8,10,16)

Place Value: ระบบเลขท&'แต่�ละหัล�กม&ค�าประจำ�าหัล�กค�าประจำ�าหัล�ก ค(อ ค�าของเลขฐานน�)นๆ ยกก�าล�งต่าม

ต่�าแหัน�งหัล�กเร�'ม จำาก ศ#นย�Least significant digit : ค(อเลขท&'ม&ค�าประจำ�าหัล�ก

น�อยMost significant digit : ค(อเลขท&'ม&ค�าประจำ�าหัล�กสั#งการเข&ยนเลขฐานต่�องม&ค�าฐานก�าก�บ ยกเว�นฐาน 10

Page 3: สอนเลขฐาน

3

ตั�วเลขในฐานตั�างๆ

ฐาน 2 ม&เลข 0,1ฐาน 8 ม&เลข 0,1,2,3,4,5,6,7ฐาน 10 ม&เลข 0,1,2,3,4,5,6,7,8,9ฐาน 16 ม&เลข

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

Page 4: สอนเลขฐาน

4

การแปลงเลขฐาน

การแปลงเลขฐานใดๆ เป,น ฐาน 10การแปลงเลขฐาน 10 เป,น ฐานใดๆการแปลงเลขฐาน 2 เป,น ฐาน 8 ฐาน 16การแปลงเลขฐาน 8 ฐาน 16 เป,น ฐาน 2

Page 5: สอนเลขฐาน

5

การแปลงเลขฐานใดๆเป�นฐาน 10

อาศ�ยค�าประจำ�าหัล�ก ค#ณต่�วเลขแต่�ละหัล�ก น�าผลค#ณท&'ได�มารวมก�น

ต่.ย. 11012 = ( )10

ค�าประจำ�าหัล�ก ค(อ 23 22 21 20

(1*8)+(1*4)+(0*2)+(1*1) = 13

Page 6: สอนเลขฐาน

6

การแปลงเลขฐาน 10 เป�นฐานใดๆ

กรณ& เลขจำ�านวนเต่%มใช้�หัล�ก MODULO ค(อ

เลขฐาน 10 เป,นต่�วต่�)ง หัารด�วยเลขฐานท&'ก�าล�งจำะแปลง

ใหั�เก%บเศษจำากการหัาร หัารเลขต่�อไปจำนกระท�)งไม�สัามารถหัารได� น�าเศษของการหัารมาวางต่�อก�น เศษต่�วสั2ดท�ายเป,น

Most significant

Page 7: สอนเลขฐาน

7

ตั�วอย่�างการแปลงเลขฐาน 10 เป�นฐานใดๆ

เลขจำ�านวนเต่%ม

132

2 6 1

2 3 0

1 1

1310 = ( )2

ต่อบ 11012

1310 = ( ) 4

4 13

3 1

ตัอบ 314

Page 8: สอนเลขฐาน

8

การแปลงเลขฐาน 10 เป�นฐานใดๆ

กรณ& เลขจำ�านวนจำร�ง: การแปลงแบ�งเป,น 2 สั�วน

สั�วนหัน�าจำ2ดทศน�ยมใช้�ว�ธ์& MODULOสั�วนเลขหัล�งจำ2ดทศน�ยม

ค#ณเลขหัล�งจำ2ดด�วยฐานท&'จำะไป บ�นท3กเฉพัาะเลขหัน�าจำ2ด

สั�วนเลขหัล�งจำ2ดน�ามาค#ณต่�อ จำนครบจำ�านวนต่�าแหัน�งหัล�งจำ2ดท&'ต่�องการ

Page 9: สอนเลขฐาน

9

ตั�วอย่�างการแปลงเลขฐาน 10 เป�นฐานใดๆ

เลขจำ�านวนจำร�ง132

2 6 1

2 3 0

1 1

13.4 10 = ( )2

.4 * 2 = 0 .8

.8 * 2 = 1 .6

.6 * 2 = 1 .2

.2 * 2 = 0 .4

Ans: 1101.01102

Page 10: สอนเลขฐาน

10

การแปลงเลขฐาน 2 เป�น ฐาน 8 ฐาน 16

หัล�กการใช้�การจำ�ดกล2�มบ�ท เลขฐาน 2 เป,น ฐาน 8 จำ�ดกล2�มละ 3 บ�ท เลขฐาน 2 เป,น ฐาน 16 จำ�ดกล2�มละ 4 บ�ท

โดยเร�'มจำากบ�ทท&'อย#�ใกล�จำ2ดทศน�ยม หัากกล2�มสั2ดท�ายไม�ครบเต่�ม 0

Page 11: สอนเลขฐาน

11

ตั�วอย่�างการแปลงเลขฐาน 2 เป�นฐาน 8

จำ�านวนเต่%ม 111112 = ( 37 ) 8

0 1 1

(0*4)+(1*2)+(1*1)

3 7

1 1 1

(1*4)+(1*2)+(1*1)

Page 12: สอนเลขฐาน

12

ตั�วอย่�างการแปลงเลขฐาน 2 เป�นฐาน 16

เลขจำ�านวนจำร�ง 0001.112 = (1.C ) 16

1 1 0 0

(1*8)+(1*4)+(0*2)+(0*1)(0*8)+(0*4)+(0*2)+(1*1)

1 12

C

0 0 0 1 0 0

Page 13: สอนเลขฐาน

13

การแปลงเลขฐาน 8 ฐาน 16 เป�น ฐาน 2

ใช้�หัล�กการกระจำายเลขแต่�ละหัล�กออกเป,น บ�ท

เลขฐาน 8 หัน3'งหัล�ก กระจำายเป,นเลขฐาน 2 ได� 3 บ�ท

เลขฐาน 16 หัน3'งหัล�ก กระจำายเป,นเลขฐาน 2 ได� 4 บ�ท

Page 14: สอนเลขฐาน

14

ตั�วอย่�างการแปลงเลขฐาน 8 ฐาน 16 เป�น ฐาน 2

กรณ& เลขจำ�านวนเต่%ม738 =( ) 2

7 3

1 1 1 0 1 1

A316 = ( ) 2

10 3

1 0 1 0 0 0 1 1

Ans: 1110112Ans: 1010000116

Page 15: สอนเลขฐาน

15

ตั�วอย่�างการแปลงเลขฐาน 8 ฐาน 16 เป�น ฐาน 2

กรณ& เลขจำ�านวนจำร�ง7.38 =( ) 2

7 . 3

1 1 1 0 1 1

A3.B16 = ( ) 2

10 3 . 11

1 0 1 0 0 0 1 1

Ans: 111 . 0112Ans: 10100001.101116

1 0 1 1

Page 16: สอนเลขฐาน

16

การคำ"านวณเลขฐาน

การบวกเลขฐานการลบเลขฐานการลบเลขฐาน แบบ Complement

Page 17: สอนเลขฐาน

17

การบวกเลขฐาน

การบวก

1101.112

+ 0111.012

10101.00 2

5345

+ 1235

คำ"านวณไมู�ได�เพราะไมู�มู�เลข5 ในฐาน 5

F31C16

+ 235016

1266C16

Page 18: สอนเลขฐาน

18

การลบเลขฐาน

การลบเลข

4325

-1435

2345

1011.0112

-0111.1012

0011.1102

Page 19: สอนเลขฐาน

19

การหัาคำอมูพล�เมูนท& (Complement)

Complement ของฐานใดๆ (ใหั� R แทนฐาน) ม& 2 ประเภท ค(อ Complement R และ Complement R-1

ฐาน R-1’ Comp. R’ Comp2 1’ Comp 2’ Comp.8 7’ Comp 8’ Comp10 9’ Comp 10’ Comp

Page 20: สอนเลขฐาน

20

การหัาคำ�าคำอมูพล�เมูนท&

การหัาคอมพัล&เมนท� ท&' R-1 ของเลขใดๆ น�าค�าสั#งสั2ดของเลขน�)นๆลบด�วยเลขน�)น ผลท&'ได�ค(อ คอมพัล&เมนท�ของเลขจำ�านวนน�)น เลข 2910 ม&ค�าสั#งสั2ด ค(อ 99

9’ - 99 29 70Comp : =

เลข 101.112 ม&ค�าสั#งสั2ดค(อ 111.11 1 ‘ - 11111 1011101000

Page 21: สอนเลขฐาน

21

การหัาคำ�าคำอมูพล�เมูนท�

การหัาคอมพัล&เมนท� ท&' R ของเลขใดๆ น�าค�าสั#งสั2ดของเลขน�)นบวกด�วยเลขท&'ท�าใหั�เก�ดการ

เปล&'ยนหัล�ก ของค�าสั#งสั2ด แล�วจำ3งลบด�วย เลขจำ�านวนน�)นอ&กท&'หัน3'ง

เลข 2910 ม& คอมพัล&เมนท� เป,น 10 ‘ - 99 1 29 71Comp : ( + ) =

เลข 101.112 ม&คอมพัล&เมนทเป,น 2 ‘ 11111 01Comp: ( . + . ) - 10111. =001001

Page 22: สอนเลขฐาน

22

ข�อส�งเกตั'เก��ย่วก�บคำอมูพล�เมูนท�

การหัา R-1 Complement ค(อ การน�าเลขจำ�านวนน�)นลบออกจำากเลขสั#งสั2ด

1’ Complement ในเลขฐาน 2 ค(อ การเปล&'ยนค�าของแต่�ละบ�ทใหั�ต่รงก�นข�าม

ค�า R-1 Complement ม&ค�าน�อยกว�า R Complement อย#� 1 เสัมอ ณ หัล�กขวาม(อสั2ด 2’ 1Comp = ’ 1Comp + ท&'หัล�กขวาม(อสั2ด

Page 23: สอนเลขฐาน

23

การลบเลขแบบคำอมูพล�เมูนท&

น�าเลขต่�วลบไปหัาคอมพัล&เมนท�น�าคอมพัล&เมนท�ท&'หัาได� บวก ก�บเลขต่�วต่�)งผลล�พัธ์�ท&'ได�ถ�าม&เลขเก�นหัล�ก

กรณ& R’ Comp. ใหั�ต่�ดท�)ง กรณ& R-1’ Comp. ใหั�น�าเลขท&'เก�นหัล�ก บวกก�บ

ผลล�พัธ์�ผลท&'ได�ค(อค�าต่อบ

Page 24: สอนเลขฐาน

24

ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท&

R-1’ Comp.

4325 - 1435 = ?

1) 444 - 143 = 301

2) 432 + 301 1 233 + 1 234

1011.011 2- 111.1012 = ?

1) 111.111 - 111.101= 000.010

2) 1011.011 + 1000.010 1 0011.101 + 1 0011.110

1 0 1

Page 25: สอนเลขฐาน

25

ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท �

คอมพัล&เมนท� ท&' R

4325 - 1435 = ?

1) 1000 - 143 = 302

2) 432 + 302 1 234

1011.011 2- 111.1012 = ?

1) 10000.000 - 0111.101=1000.011 2) 1011.011 + 1000.011 1 0011.110

ต่�ดท�)ง

Page 26: สอนเลขฐาน

26

ผลล�พัธ์ท&'ไดเปนคาต่�ดลบม&ว�ธ์&ลบ ม&ข� )นต่อนด�งน&) น�าต่�วต่�)งบวกดวยคอมพัล&เมนต่ของต่�วลบ หัากผลบวกม&จำ�านวนหัล�กเทาเด�มแสัดงวาผล

การบวกจำะย�งไมเปนผลล�พัธ์ของการลบท&'ต่องการ

น�าผลบวกท&'ไดไปหัาคาคอมพัล&เมนต่ แลวเต่�มเคร('องหัมายลบจำะไดเปนผลล�พัธ์ของการลบ

ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท�

***กรณ�ท��ตั�วตั�(งมู�คำานอย่กวาตั�วลบ

Page 27: สอนเลขฐาน

27

ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท�

***กรณ�ท��ตั�วตั�(งมู�คำานอย่กวาตั�วลบ

ตั�วอย่�าง 10112

-11002

= ?

10

11

00

11

11

10

2

- 11111110 = 0001

-3

-11111100 = 00111

ลองลบด�วยว�ธ์& - 1R complement

ข�อแตักตั�างจาก R comp.

Page 28: สอนเลขฐาน

28

ผลล�พัธ์ท&'ไดเปนคาต่�ดลบม&ว�ธ์&ลบ ม&ข� )นต่อนด�งน&) น�าต่�วต่�)งบวกดวยคอมพัล&เมนต่ของต่�วลบ หัากผลบวกม&จำ�านวนหัล�กเทาเด�มแสัดงวาผล

การบวกจำะย�งไมเปนผลล�พัธ์ของการลบท&'ต่องการ

น�าผลบวกท&'ไดไปหัาคาคอมพัล&เมนต่ แลวเต่�มเคร('องหัมายลบจำะไดเปนผลล�พัธ์ของการลบ

ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท�

***กรณ�ท��ตั�วตั�(งมู�คำานอย่กวาตั�วลบ

Page 29: สอนเลขฐาน

29

ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท�

***กรณ�ท��ตั�วตั�(งมู�คำานอย่กวาตั�วลบ

ตั�วอย่�าง 10112

-11002

= ?

10

11

01

00

11

11

2

- 100001111

= 0001-3

-100001100 = 01001

คำ"าถามู : ใช้�ว.ธี�ลบแบบใดอย่��R-1 หัร0อ R complement ? ด�จาก

Page 30: สอนเลขฐาน

30

การแทนรหั�สข�อมู�ลในหัน�วย่คำวามูจ"า

Data Representationการแทนรหั�สัข�อม#ลท&'เป,นอ�กขระ

(Alphanumeric Data Representation)การแทนรหั�สัข�อม#ลท&'เป,นจำ�านวนเลข

(Numeric Data Representation) เลขจำ�านวนเต่%ม (Integer Representation) เลขท&'ม&จำ2ดทศน�ยม (Floating Point

Representation)

Page 31: สอนเลขฐาน

31

การแทนข�อมู�ลท��เป�นอ�กขระ

รหั�สั BCD : Binary Coded Decimal Codeรหั�สั EBCDIC: Extended Binary Coded

Decimal Interchange Codeรหั�สั ASCII : American Standard Code

for Information Interchange

Page 32: สอนเลขฐาน

32

รหั�ส BCD

ใช้� 6 บ�ทแทนอ�กขระ 1 ต่�ว ระบบน&)แทนอ�กขระได� 64 ต่�ว ( 26 ร#ปแบบ)

C B A 8 4 2 1

Digit bitZone bit

Check bit/ Parity bit

Page 33: สอนเลขฐาน

33

รหั�ส BCD

การแทนรหั�สั BCD อ�กขระแบบต่�วเลข (0 - 9) Zone Bit จำะ

เป,น 00 อ�กขระแบบต่�วอ�กษร หัร(อ สั�ญล�กษณ�

พั�เศษ Zone bit เป,น 11

Page 34: สอนเลขฐาน

34

รหั�ส EBCDIC

ใช้� 8 บ�ทแทนอ�กขระ 1 ต่�ว ระบบน&)แทนอ�กขระได� 256 ต่�ว ( 28 ร#ปแบบ)

C B A 8 4 2 1

Digit bit

Zone bit

Check bit/ Parity bit

Page 35: สอนเลขฐาน

35

รหั�ส EBCDIC

การบ�นท3กข�อม#ลในระบบ EBCDIC ม& 2 แบบ การบ�นท3กแบบ Zone Decimal การบ�นท3กแบบ Packed Decimal

การบ�นท3กแบบต่�วเลข Zone bit ม&ค�าเป,น 1111 สั�าหัร�บเลขท&'ไม�ม&เคร('องหัมายน�าหัน�า

( 15 ,F) 1100 สั�าหัร�บเลขท&'ม&เคร('องหัมายบวก และ (+,12 ,C) 1101 สั�าหัร�บเลขท&'ม&เคร('องหัมายลบ (-,13 ,D)

Page 36: สอนเลขฐาน

36

การแทนข�อมู�ลแบบ Packed Decimal

เป,นการเปล&'ยนล�กษณะการเก%บรหั�สั EBCDIC ใหั�ใช้�ในการค�านวณ

การเปล&'ยนน&)จำ�านวนหัล�กสัามารถย(ดหัย2�นได�ไม�ใช้�ก�บต่�วเลขท&'เป,นจำ2ดทศน�ยม

Page 37: สอนเลขฐาน

37

ว.ธี�การ PACK

“-123”

สัล�บสั�วน Zone bit และ Digit bit ของไบท�ขวาสั2ด

ต่�ด Zone bit ของไบท� ท&'เหัล(อบ&บข�อม#ลซึ่3'งเป,น Digit Bit เข�ามาม�กท�าอย#�ในเลขฐาน 16 (123D)16

ว�ธ์& Unpack ท�าต่รงก�นข�าง ก�บการ Pack

1101 0001 1101 0010 1101 0011

Page 38: สอนเลขฐาน

38

รหั�ส ASCII

ม& 2 ช้น�ด ค(อ 7 บ�ท ก�บ 8 บ�ท ก�าหันดใหั�ต่�วเลขม&ค�าน�อยกว�าต่�วอ�กษรเป,นรหั�สัท&'น�ยมในป;จำจำ2บ�น

ล�กษณะคล�าย EBCDIC ม& Zone bit เป,น สั�าหัร�บต่�วเลข 0101 และ 011 สั�าหัร�บต่�วอ�กษร 1010 และ 100

Page 39: สอนเลขฐาน

39

Parity bit หัร0อ Check bit

เป,นบ�ทท&'ใช้�ต่รวจำสัอบการแทนรหั�สั ม& 2 ระบบ

Even Parity ระบบจำ�านวนค#� ระบบน&)ต่�องม&บ�ทท&'เป,นเลข 1 ท�)งหัมดม&จำ�านวนเป,นเลขค#�

Odd Parity ระบบจำ�านวนค&' ระบบน&)ต่�องม&บ�ทท&'เป,นเลข 1 ท�)งหัมดม&จำ�านวนเป,นเลขค&'

1 1 1 0 0 0 1

0 1 1 0 1 0 1

0 1 1 0 0 0 1

1 1 1 0 1 0 1

Page 40: สอนเลขฐาน

40

การแทนรหั�สข�อมู�ลท��เป�นตั�วเลข

การแทนข�อม#ลแบบน&) ก�าหันดเน()อท&'ในหัน�วยความจำ�าม&ขนาดต่ายต่�ว (Fixed length word) สั�าหัร�บแทนต่�วเลข 1 จำ�านวน

half-word ใช้�เน()อท&' 2 ไบท�Full-word ใช้�เน()อท&' 4 ไบท�Double-word ใช้�เน()อท&' 8 ไบท�

Page 41: สอนเลขฐาน

41

การแทนเลขจ"านวนเตั1มู

Sign Magnitude / Pure binarycode

2’ Complement1’ Complement

Page 42: สอนเลขฐาน

42

Sign Magnitude

ระบบน&)บ�ทซึ่�ายสั2ดแทนเคร('องหัมายเร&ยกว�า Sign bit ท&'เหัล(อแทนขนาดของจำ�านวนเลข เร&ยกว�า Magnitude

Signbit Magnitude

MSB LSB

1 แทน ลบ0 แทน บวก 1 Word = 4 Byte = 32 Bit

Page 43: สอนเลขฐาน

43

แสดงการแทนคำ�า

แบบ Sign Magnitude

1 Word = 4 Byte = 32 bit

31 32 2 1 0

25=1100120 0 0 0 1 1 0 0 1.........................

-25 1 0 0 ......................... 0 1 1 0 0 1

Page 44: สอนเลขฐาน

44

แสดงการแทนคำ�า

แบบ 2’ Complementเป,นระบบท&'น�ยมใช้�การแสัดงจำ�านวนเลขในระบบน&)

เลขบวก แทนเหัม(อนระบบ Sign Magnitude

เลขลบ แทนด�วยค�า 2’ Complement ของเลขจำ�านวนน�)น

Page 45: สอนเลขฐาน

45

ตั�วอย่�าง การแทนคำ�า 2’ Complement

เช้�น 28 = 111002

MSB LSB

0000000.............0000000000 1 1 1 0 0

1 111111.............1111111111 0 0 0 1 1 +

1

1 111111.............1111111111 0 0 1 0 0

Page 46: สอนเลขฐาน

46

Floating Point Representation

R = + - M * B+- E

Sign Exponent Mantissa

31 30 24 0

S Sign แทนเคร('องหัมาย บวก ลบ ของจำ�านวนเลขE Exponent สั�วนท&'ยกก�าล�งM Mantissa เลขท&'อย#�หัล�งจำ2ด

Page 47: สอนเลขฐาน

47

ข�(นตัอนการท"า Floating point

เปล&'ยนเลขไปเป,นฐาน 16Normalization เลขฐาน 16 (ม&เลขหัล�งจำ2ด และ

ยกก�าล�ง)เปล&'ยน Sign, Exponent, Mantissa เป,นเลขฐาน

2 Sign : 1 แทนค�าลบ 0 แทนค�าบวก Mantissa : เปล&'ยนเป,นฐาน 2 เต่�มเลขจำากขวา มา

ซึ่�ายท&'เหัล(อเต่�มศ#นย�

Page 48: สอนเลขฐาน

48

ข�(นตัอนการท"า Floating point

Exponent เป,นได�ท�)งค�าบวก หัร(อ ลบ จำ3งต่�องใช้�ว�ธ์& Excess 64 exponent

16 40=

16 +

true exponent16

exponent16

---- > exponent2

Page 49: สอนเลขฐาน

49

ตั�วอย่�าง ท"า Floating point

28 ----> 1C16

1C16 = (+.1C * 102)16

Sign ----> 0Mantissa ----> 0001 11002

Exponent ----> 4016 + 216 = 42 16 -----> 100 001020 100 0010 0001 11000000..........................