Upload
mahasarakham-university
View
37
Download
2
Embed Size (px)
Citation preview
1
บทท�� 3 ระบบเลข และการแทนรหั�สข�อมู�ลระบบเลขฐานต่�างๆ (เน�น ฐาน 2 ฐาน 8 และ ฐาน 16)
การแปลงเลขฐาน ความสั�มพั�นธ์�ของเลขฐาน 2 ฐาน 8 และฐาน 16
การค�านวณทางคณ�ต่ศาสัต่ร�ในระบบเลขฐานการแทนรหั�สัข�อม#ลในระบบ BCD, EBCDIC, ASCIIการแทนรหั�สัข�อม#ลของจำ�านวนเลข จำ�านวนเต่%ม
จำ�านวนจำร�ง
2
ระบบเลขฐาน (ฐาน 2,8,10,16)
Place Value: ระบบเลขท&'แต่�ละหัล�กม&ค�าประจำ�าหัล�กค�าประจำ�าหัล�ก ค(อ ค�าของเลขฐานน�)นๆ ยกก�าล�งต่าม
ต่�าแหัน�งหัล�กเร�'ม จำาก ศ#นย�Least significant digit : ค(อเลขท&'ม&ค�าประจำ�าหัล�ก
น�อยMost significant digit : ค(อเลขท&'ม&ค�าประจำ�าหัล�กสั#งการเข&ยนเลขฐานต่�องม&ค�าฐานก�าก�บ ยกเว�นฐาน 10
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
4
การแปลงเลขฐาน
การแปลงเลขฐานใดๆ เป,น ฐาน 10การแปลงเลขฐาน 10 เป,น ฐานใดๆการแปลงเลขฐาน 2 เป,น ฐาน 8 ฐาน 16การแปลงเลขฐาน 8 ฐาน 16 เป,น ฐาน 2
5
การแปลงเลขฐานใดๆเป�นฐาน 10
อาศ�ยค�าประจำ�าหัล�ก ค#ณต่�วเลขแต่�ละหัล�ก น�าผลค#ณท&'ได�มารวมก�น
ต่.ย. 11012 = ( )10
ค�าประจำ�าหัล�ก ค(อ 23 22 21 20
(1*8)+(1*4)+(0*2)+(1*1) = 13
6
การแปลงเลขฐาน 10 เป�นฐานใดๆ
กรณ& เลขจำ�านวนเต่%มใช้�หัล�ก MODULO ค(อ
เลขฐาน 10 เป,นต่�วต่�)ง หัารด�วยเลขฐานท&'ก�าล�งจำะแปลง
ใหั�เก%บเศษจำากการหัาร หัารเลขต่�อไปจำนกระท�)งไม�สัามารถหัารได� น�าเศษของการหัารมาวางต่�อก�น เศษต่�วสั2ดท�ายเป,น
Most significant
7
ตั�วอย่�างการแปลงเลขฐาน 10 เป�นฐานใดๆ
เลขจำ�านวนเต่%ม
132
2 6 1
2 3 0
1 1
1310 = ( )2
ต่อบ 11012
1310 = ( ) 4
4 13
3 1
ตัอบ 314
8
การแปลงเลขฐาน 10 เป�นฐานใดๆ
กรณ& เลขจำ�านวนจำร�ง: การแปลงแบ�งเป,น 2 สั�วน
สั�วนหัน�าจำ2ดทศน�ยมใช้�ว�ธ์& MODULOสั�วนเลขหัล�งจำ2ดทศน�ยม
ค#ณเลขหัล�งจำ2ดด�วยฐานท&'จำะไป บ�นท3กเฉพัาะเลขหัน�าจำ2ด
สั�วนเลขหัล�งจำ2ดน�ามาค#ณต่�อ จำนครบจำ�านวนต่�าแหัน�งหัล�งจำ2ดท&'ต่�องการ
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
10
การแปลงเลขฐาน 2 เป�น ฐาน 8 ฐาน 16
หัล�กการใช้�การจำ�ดกล2�มบ�ท เลขฐาน 2 เป,น ฐาน 8 จำ�ดกล2�มละ 3 บ�ท เลขฐาน 2 เป,น ฐาน 16 จำ�ดกล2�มละ 4 บ�ท
โดยเร�'มจำากบ�ทท&'อย#�ใกล�จำ2ดทศน�ยม หัากกล2�มสั2ดท�ายไม�ครบเต่�ม 0
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)
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
13
การแปลงเลขฐาน 8 ฐาน 16 เป�น ฐาน 2
ใช้�หัล�กการกระจำายเลขแต่�ละหัล�กออกเป,น บ�ท
เลขฐาน 8 หัน3'งหัล�ก กระจำายเป,นเลขฐาน 2 ได� 3 บ�ท
เลขฐาน 16 หัน3'งหัล�ก กระจำายเป,นเลขฐาน 2 ได� 4 บ�ท
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
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
16
การคำ"านวณเลขฐาน
การบวกเลขฐานการลบเลขฐานการลบเลขฐาน แบบ Complement
17
การบวกเลขฐาน
การบวก
1101.112
+ 0111.012
10101.00 2
5345
+ 1235
คำ"านวณไมู�ได�เพราะไมู�มู�เลข5 ในฐาน 5
F31C16
+ 235016
1266C16
18
การลบเลขฐาน
การลบเลข
4325
-1435
2345
1011.0112
-0111.1012
0011.1102
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
20
การหัาคำ�าคำอมูพล�เมูนท&
การหัาคอมพัล&เมนท� ท&' R-1 ของเลขใดๆ น�าค�าสั#งสั2ดของเลขน�)นๆลบด�วยเลขน�)น ผลท&'ได�ค(อ คอมพัล&เมนท�ของเลขจำ�านวนน�)น เลข 2910 ม&ค�าสั#งสั2ด ค(อ 99
9’ - 99 29 70Comp : =
เลข 101.112 ม&ค�าสั#งสั2ดค(อ 111.11 1 ‘ - 11111 1011101000
21
การหัาคำ�าคำอมูพล�เมูนท�
การหัาคอมพัล&เมนท� ท&' R ของเลขใดๆ น�าค�าสั#งสั2ดของเลขน�)นบวกด�วยเลขท&'ท�าใหั�เก�ดการ
เปล&'ยนหัล�ก ของค�าสั#งสั2ด แล�วจำ3งลบด�วย เลขจำ�านวนน�)นอ&กท&'หัน3'ง
เลข 2910 ม& คอมพัล&เมนท� เป,น 10 ‘ - 99 1 29 71Comp : ( + ) =
เลข 101.112 ม&คอมพัล&เมนทเป,น 2 ‘ 11111 01Comp: ( . + . ) - 10111. =001001
22
ข�อส�งเกตั'เก��ย่วก�บคำอมูพล�เมูนท�
การหัา R-1 Complement ค(อ การน�าเลขจำ�านวนน�)นลบออกจำากเลขสั#งสั2ด
1’ Complement ในเลขฐาน 2 ค(อ การเปล&'ยนค�าของแต่�ละบ�ทใหั�ต่รงก�นข�าม
ค�า R-1 Complement ม&ค�าน�อยกว�า R Complement อย#� 1 เสัมอ ณ หัล�กขวาม(อสั2ด 2’ 1Comp = ’ 1Comp + ท&'หัล�กขวาม(อสั2ด
23
การลบเลขแบบคำอมูพล�เมูนท&
น�าเลขต่�วลบไปหัาคอมพัล&เมนท�น�าคอมพัล&เมนท�ท&'หัาได� บวก ก�บเลขต่�วต่�)งผลล�พัธ์�ท&'ได�ถ�าม&เลขเก�นหัล�ก
กรณ& R’ Comp. ใหั�ต่�ดท�)ง กรณ& R-1’ Comp. ใหั�น�าเลขท&'เก�นหัล�ก บวกก�บ
ผลล�พัธ์�ผลท&'ได�ค(อค�าต่อบ
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
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
ต่�ดท�)ง
26
ผลล�พัธ์ท&'ไดเปนคาต่�ดลบม&ว�ธ์&ลบ ม&ข� )นต่อนด�งน&) น�าต่�วต่�)งบวกดวยคอมพัล&เมนต่ของต่�วลบ หัากผลบวกม&จำ�านวนหัล�กเทาเด�มแสัดงวาผล
การบวกจำะย�งไมเปนผลล�พัธ์ของการลบท&'ต่องการ
น�าผลบวกท&'ไดไปหัาคาคอมพัล&เมนต่ แลวเต่�มเคร('องหัมายลบจำะไดเปนผลล�พัธ์ของการลบ
ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท�
***กรณ�ท��ตั�วตั�(งมู�คำานอย่กวาตั�วลบ
27
ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท�
***กรณ�ท��ตั�วตั�(งมู�คำานอย่กวาตั�วลบ
ตั�วอย่�าง 10112
-11002
= ?
10
11
00
11
11
10
2
- 11111110 = 0001
-3
-11111100 = 00111
ลองลบด�วยว�ธ์& - 1R complement
ข�อแตักตั�างจาก R comp.
28
ผลล�พัธ์ท&'ไดเปนคาต่�ดลบม&ว�ธ์&ลบ ม&ข� )นต่อนด�งน&) น�าต่�วต่�)งบวกดวยคอมพัล&เมนต่ของต่�วลบ หัากผลบวกม&จำ�านวนหัล�กเทาเด�มแสัดงวาผล
การบวกจำะย�งไมเปนผลล�พัธ์ของการลบท&'ต่องการ
น�าผลบวกท&'ไดไปหัาคาคอมพัล&เมนต่ แลวเต่�มเคร('องหัมายลบจำะไดเปนผลล�พัธ์ของการลบ
ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท�
***กรณ�ท��ตั�วตั�(งมู�คำานอย่กวาตั�วลบ
29
ตั�วอย่�างการลบเลขแบบคำอมูพล�เมูนท�
***กรณ�ท��ตั�วตั�(งมู�คำานอย่กวาตั�วลบ
ตั�วอย่�าง 10112
-11002
= ?
10
11
01
00
11
11
2
- 100001111
= 0001-3
-100001100 = 01001
คำ"าถามู : ใช้�ว.ธี�ลบแบบใดอย่��R-1 หัร0อ R complement ? ด�จาก
30
การแทนรหั�สข�อมู�ลในหัน�วย่คำวามูจ"า
Data Representationการแทนรหั�สัข�อม#ลท&'เป,นอ�กขระ
(Alphanumeric Data Representation)การแทนรหั�สัข�อม#ลท&'เป,นจำ�านวนเลข
(Numeric Data Representation) เลขจำ�านวนเต่%ม (Integer Representation) เลขท&'ม&จำ2ดทศน�ยม (Floating Point
Representation)
31
การแทนข�อมู�ลท��เป�นอ�กขระ
รหั�สั BCD : Binary Coded Decimal Codeรหั�สั EBCDIC: Extended Binary Coded
Decimal Interchange Codeรหั�สั ASCII : American Standard Code
for Information Interchange
32
รหั�ส BCD
ใช้� 6 บ�ทแทนอ�กขระ 1 ต่�ว ระบบน&)แทนอ�กขระได� 64 ต่�ว ( 26 ร#ปแบบ)
C B A 8 4 2 1
Digit bitZone bit
Check bit/ Parity bit
33
รหั�ส BCD
การแทนรหั�สั BCD อ�กขระแบบต่�วเลข (0 - 9) Zone Bit จำะ
เป,น 00 อ�กขระแบบต่�วอ�กษร หัร(อ สั�ญล�กษณ�
พั�เศษ Zone bit เป,น 11
34
รหั�ส EBCDIC
ใช้� 8 บ�ทแทนอ�กขระ 1 ต่�ว ระบบน&)แทนอ�กขระได� 256 ต่�ว ( 28 ร#ปแบบ)
C B A 8 4 2 1
Digit bit
Zone bit
Check bit/ Parity bit
35
รหั�ส EBCDIC
การบ�นท3กข�อม#ลในระบบ EBCDIC ม& 2 แบบ การบ�นท3กแบบ Zone Decimal การบ�นท3กแบบ Packed Decimal
การบ�นท3กแบบต่�วเลข Zone bit ม&ค�าเป,น 1111 สั�าหัร�บเลขท&'ไม�ม&เคร('องหัมายน�าหัน�า
( 15 ,F) 1100 สั�าหัร�บเลขท&'ม&เคร('องหัมายบวก และ (+,12 ,C) 1101 สั�าหัร�บเลขท&'ม&เคร('องหัมายลบ (-,13 ,D)
36
การแทนข�อมู�ลแบบ Packed Decimal
เป,นการเปล&'ยนล�กษณะการเก%บรหั�สั EBCDIC ใหั�ใช้�ในการค�านวณ
การเปล&'ยนน&)จำ�านวนหัล�กสัามารถย(ดหัย2�นได�ไม�ใช้�ก�บต่�วเลขท&'เป,นจำ2ดทศน�ยม
37
ว.ธี�การ PACK
“-123”
สัล�บสั�วน Zone bit และ Digit bit ของไบท�ขวาสั2ด
ต่�ด Zone bit ของไบท� ท&'เหัล(อบ&บข�อม#ลซึ่3'งเป,น Digit Bit เข�ามาม�กท�าอย#�ในเลขฐาน 16 (123D)16
ว�ธ์& Unpack ท�าต่รงก�นข�าง ก�บการ Pack
1101 0001 1101 0010 1101 0011
38
รหั�ส ASCII
ม& 2 ช้น�ด ค(อ 7 บ�ท ก�บ 8 บ�ท ก�าหันดใหั�ต่�วเลขม&ค�าน�อยกว�าต่�วอ�กษรเป,นรหั�สัท&'น�ยมในป;จำจำ2บ�น
ล�กษณะคล�าย EBCDIC ม& Zone bit เป,น สั�าหัร�บต่�วเลข 0101 และ 011 สั�าหัร�บต่�วอ�กษร 1010 และ 100
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
40
การแทนรหั�สข�อมู�ลท��เป�นตั�วเลข
การแทนข�อม#ลแบบน&) ก�าหันดเน()อท&'ในหัน�วยความจำ�าม&ขนาดต่ายต่�ว (Fixed length word) สั�าหัร�บแทนต่�วเลข 1 จำ�านวน
half-word ใช้�เน()อท&' 2 ไบท�Full-word ใช้�เน()อท&' 4 ไบท�Double-word ใช้�เน()อท&' 8 ไบท�
41
การแทนเลขจ"านวนเตั1มู
Sign Magnitude / Pure binarycode
2’ Complement1’ Complement
42
Sign Magnitude
ระบบน&)บ�ทซึ่�ายสั2ดแทนเคร('องหัมายเร&ยกว�า Sign bit ท&'เหัล(อแทนขนาดของจำ�านวนเลข เร&ยกว�า Magnitude
Signbit Magnitude
MSB LSB
1 แทน ลบ0 แทน บวก 1 Word = 4 Byte = 32 Bit
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
44
แสดงการแทนคำ�า
แบบ 2’ Complementเป,นระบบท&'น�ยมใช้�การแสัดงจำ�านวนเลขในระบบน&)
เลขบวก แทนเหัม(อนระบบ Sign Magnitude
เลขลบ แทนด�วยค�า 2’ Complement ของเลขจำ�านวนน�)น
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
46
Floating Point Representation
R = + - M * B+- E
Sign Exponent Mantissa
31 30 24 0
S Sign แทนเคร('องหัมาย บวก ลบ ของจำ�านวนเลขE Exponent สั�วนท&'ยกก�าล�งM Mantissa เลขท&'อย#�หัล�งจำ2ด
47
ข�(นตัอนการท"า Floating point
เปล&'ยนเลขไปเป,นฐาน 16Normalization เลขฐาน 16 (ม&เลขหัล�งจำ2ด และ
ยกก�าล�ง)เปล&'ยน Sign, Exponent, Mantissa เป,นเลขฐาน
2 Sign : 1 แทนค�าลบ 0 แทนค�าบวก Mantissa : เปล&'ยนเป,นฐาน 2 เต่�มเลขจำากขวา มา
ซึ่�ายท&'เหัล(อเต่�มศ#นย�
48
ข�(นตัอนการท"า Floating point
Exponent เป,นได�ท�)งค�าบวก หัร(อ ลบ จำ3งต่�องใช้�ว�ธ์& Excess 64 exponent
16 40=
16 +
true exponent16
exponent16
---- > exponent2
49
ตั�วอย่�าง ท"า Floating point
28 ----> 1C16
1C16 = (+.1C * 102)16
Sign ----> 0Mantissa ----> 0001 11002
Exponent ----> 4016 + 216 = 42 16 -----> 100 001020 100 0010 0001 11000000..........................