บทที่ 6

Download Report

Transcript บทที่ 6

บทที่ 6
ระบบเลข และการแทนรหัสข้ อมูล
ระบบเลขฐานต่างๆ (เน้น ฐาน 2 ฐาน 8 และ ฐาน
16)
การแปลงเลขฐาน
ความสัมพันธ์ของเลขฐาน 2 ฐาน 8 และฐาน
16
การคานวณทางคณิ ตศาสตร์ในระบบเลขฐาน
การแทนรหัสข้อมูลในระบบ BCD, EBCDIC, ASCII
204101 Introduction to Computer
1
ระบบเลขฐาน (ฐาน 2, 8, 10, 16)
Place Value: ระบบเลขที่แต่ละหลักมีค่าประจาหลัก
ค่าประจาหลัก คือ ค่าของเลขฐานนั้นๆ ยกกาลังตาม
ตาแหน่งหลักเริ่ ม จาก ศูนย์
Least significant digit : คือเลขที่มีค่าประจาหลักน้อย
Most significant digit : คือเลขที่มีค่าประจาหลักสู ง
การเขียนเลขฐานต้องมีค่าฐานกากับ ยกเว้นฐาน 10
204101 Introduction to Computer
2
ตัวเลขในฐานต่ างๆ
ฐาน 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
204101 Introduction to Computer
3
การแปลงเลขฐาน
การแปลงเลขฐานใดๆ เป็ น ฐาน 10
การแปลงเลขฐาน 10
เป็ น ฐานใดๆ
การแปลงเลขฐาน 2 เป็ น ฐาน 8 ฐาน 16
การแปลงเลขฐาน 8 ฐาน 16 เป็ น ฐาน 2
204101 Introduction to Computer
4
การแปลงเลขฐานใดๆเป็ นฐาน 10
อาศัยค่าประจาหลักคูณตัวเลขแต่ละหลัก นาผลคูณที่ได้มารวมกัน
(2542)10
ค่าประจาหล ัก
103 102 101 100
ค่าเลข
2
5
4 2
ค่าฐาน 10 = (2x103) + (5x102) + (4x101) + (2x100)
= 2000 + 500 + 40 + 2 = 2542 10
(2542)8
ค่าประจาหล ัก
83 82 81 80
ค่าเลข
2
5
4 2
ค่าฐาน 8 = (2x83) + (5x82) + (4x81) + (2x80)
= 1024 +204101
320
+ to32
+ 2 = 137010
Introduction
Computer
5
การแปลงเลขฐานใดๆเป็ นฐาน 10
 ต ัวอย่าง 11012 = ( ? )10
23 22 21 20
1 1 0 1
ค่าประจาหล ัก
=(1 x 8) + (1 x 4) + (0 x 2) + (1 x 1)
= 8+4+0+1
= 13
204101 Introduction to Computer
6
การแปลงเลขฐาน 10 เป็ นฐานใดๆ
กรณี
เลขจำนวนเต็ม
ใช้หลัก MODULO คือ
เลขฐาน 10 เป็ นตัวตั้ง หารด้วยเลขฐานที่กาลังจะแปลง
ให้เก็บเศษจากการหาร
หารเลขต่อไปจนกระทั้งไม่สามารถหารได้
นาเศษของการหารมาวางต่อกัน เศษตัวสุ ดท้ายเป็ น Most
significant
204101 Introduction to Computer
7
ตัวอย่ างการแปลงเลขฐาน 10 เป็ นฐานใดๆ
เลขจานวนเต็ม
1310 = (
)2
1310 = (
4
2
13
2
6
1
2
3
0
1
ตอบ 11012
)4
13
3
คาตอบอ่านจาก
ล่างขึน้ บน
1
1
204101 Introduction to Computer
ตอบ
314
8
การตรวจสอบคาตอบ
ลองตรวจคำตอบดู
7729
63210 = (?)9
9
632
9
70
2
7
7
Ans.
7729
ค่ำประจำหลัก
92 9 1 90
81 9 1
= 7x81+7x9+2
= 567+63+2
= 63210
204101 Introduction to Computer
9
การแปลงเลขฐาน 10 เป็ นฐานใดๆ
กรณี
เลขจำนวนจริง: การแปลงแบ่งเป็ น
2 ส่ วน
ส่ วนหน้าจุดทศนิยมใช้วธิ ี MODULO
ส่ วนเลขหลังจุดทศนิยม
คูณเลขหลังจุดด้วยฐานที่จะไป บันทึกเฉพาะเลขหน้าจุด
ส่ วนเลขหลังจุดนามาคูณต่อ จนครบจานวนตาแหน่งหลัง
จุดที่ตอ้ งการ
204101 Introduction to Computer
10
ตัวอย่ าง การแปลงเลขฐาน 10 เป็ นฐานใดๆ กรณีเลขจำนวน
จริง
เลขจานวนจริ ง
13.4 10 = (
2
13
2
6
1
2
3
0
1
หน้ าทศนิยม
คาตอบอ่านจาก
ล่างขึน้ บน
.4 * 2 =
.8 * 2 =
.6 * 2 =
.2 * 2 =
)2
0
1
1
0
.8
.6
.2
.4
1
Ans: 1101.01102
204101 Introduction to Computer
11
การแปลงเลขฐาน 2 เป็ น ฐาน 8 ฐาน 16
หลักการ ใช้การจัดกลุ่มบิต
เลขฐาน 2 เป็ น ฐาน 8 จัดกลุ่มละ 3 บิต
เลขฐาน 2 เป็ น ฐาน 16 จัดกลุ่มละ 4 บิต
โดยเริ่ มจากบิตที่อยูใ่ กล้จุดทศนิยม หากกลุ่มสุ ดท้ายไม่ครบเติม
0 ไปข้างหน้า
ทาการหาค่าเป็ นเลขฐาน10 ของแต่ละกลุ่มที่จดั แล้ว
นามาต่อกันเพื่อเป็ นคาตอบโดยเรี ยงตามหลักซ้ายไปขวา
204101 Introduction to Computer
12
ตัวอย่ างการแปลงเลขฐาน 2 เป็ นฐาน 8
จานวนเต็ม 111112 = ( 37 ) 8
0 1 1
1 1 1
(0*4)+(1*2)+(1*1)
แปลงค่ าเป็ นเลขฐาน10
ของแต่ ละกลุ่ม
3
(1*4)+(1*2)+(1*1)
นามาต่ อกันเรียง
จากซ้ ายไปขวา
378
204101 Introduction to Computer
7
แปลงค่ าเป็ นเลขฐาน10
ของแต่ ละกลุ่ม
13
ตัวอย่ างการแปลงเลขฐาน 2 เป็ นฐาน 16
เลขจานวนจริ ง 0001.112 = (1.C ) 16
0 0 0 1
จุดทศนิยม
เป็ นตัวแบ่ ง
(0*8)+(0*4)+(0*2)+(1*1)
1
นามาต่ อกัน
1.C16
204101 Introduction to Computer
1 1 00 0
(1*8)+(1*4)+(0*2)+(0*1)
12
C
14
การแปลงเลขฐาน 8 ฐาน 16 เป็ น ฐาน 2
ใช้หลักการกระจายเลขแต่ละหลักออกเป็ น บิต ด้วยเลข
ฐาน 2
แยกเลขฐาน 8 หนึ่งหลัก กระจายเป็ นเลขฐาน 2 ได้ 3
บิต
แยกเลขฐาน 16 หนึ่งหลัก กระจายเป็ นเลขฐาน 2 ได้
4 บิต
204101 Introduction to Computer
15
ตัวอย่ างการแปลงเลขฐาน 8 ฐาน 16 เป็ น ฐาน 2
เลขจำนวนเต็ม
กรณี
738 =(
A316 = (
)2
7
1 1
3
1
0 1
Ans: 1110112
)
2
10
1
1010
3
0011
Ans: 1010000116
204101 Introduction to Computer
16
ตัวอย่ างการแปลงเลขฐาน 8 ฐาน 16 เป็ น ฐาน 2
กรณี เลขจำนวนจริง
7.38 = (
)2
7
.
1 1
1
A3.B16 = (
10
3
0 1
Ans: 111 . 0112
1
3
1010
0011
)
.
2
11
1011
Ans: 10100001.101116
204101 Introduction to Computer
17
แบบฝึ กหัด 1 จงแสดงวิธีการแปลงเลขฐานต่ อไปนี ้
 ระหว่างเลขฐานใดๆ และเลขฐาน10
 10012
= ( ? ) 10
 10015
= ( ? ) 10
 12
= (?)2
 123 = ( ? ) 5
 2550 = ( ? )16
 ระหว่างเลขฐาน 2 ,8 , และ 16
101012 = ( ? ) 8
101011.01102 = ( ? ) 16
21.816 = ( ? ) 2
2358
= (?)8
204101 Introduction to Computer
18
การคานวณเลขฐาน
การบวกเลขฐาน
การลบเลขฐาน
การลบเลขฐาน แบบ Complement
204101 Introduction to Computer
19
การบวกเลขฐาน
การบวก
1101.112
+
0111.012
10101.00 2
5345
F31C16
+
1235
คานวณไม่ ได้
เพราะไม่ มีเลข
5 ในฐาน 5
204101 Introduction to Computer
+
235016
1
1 66C16 คาตอบที่ถูกต้ อง
20
การลบเลขฐาน
การลบเลข
1435
1011.0112
0111.1012
2345
0011.1102
4325
-
204101 Introduction to Computer
21
การบวก-ลบเลขฐานสอง และกำรตรวจสอบคำตอบด้ วยฐำนสิ บ
10012+10112= ( ? )
1 0 0 12
+
1 0 1 12
1 0 1 0 02
11012 - 1102 = ( ? )
1 1 0 12
1 1 02
0 1 1 12
ตรวจสอบคาตอบด้วยตนเอง
ิ คือ
ิ คือ
โดยเทียบก ับเลขฐานสบ
เทียบก ับลขฐานสบ
10012+10112
11012 - 1102
910 + 1110 = 20
1310 - 610 = 710
= 10100
= 1112
204101
2 Introduction to Computer
22
การหาคอมพลีเมนท์ (Complement)
Complement ของฐานใดๆ (ให้ R แทนฐาน) มี 2
ประเภท คือ Complement R และ Complement R-1
ฐาน R-1’s Comp.
R’s Comp
2
1’s Comp
2’s Comp.
8
7’s Comp
8’s Comp
10
9’s Comp
10’s Comp
204101 Introduction to Computer
23
การหาค่ าคอมพลีเมนท์
การหาคอมพลีเมนท์ ที่ R-1 ของเลขใดๆ
นาค่าสู งสุ ดของเลขนั้นๆลบด้วยเลขนั้น
ผลที่ได้คือ คอมพลีเมนท์ของเลขจานวนนั้น
 เลข 2910 มีค่าสู งสุ ด คือ 99
 9’s Comp : 99 -29 = 70
เลข 101.112 มีค่าสู งสุ ดคือ 111.11
1’s Comp : 111.11 - 101.11 = 010.00
204101 Introduction to Computer
24
การหาค่ าคอมพลีเมนท์์
การหาคอมพลีเมนท์ ที่ R ของเลขใดๆ
นาค่าสูงสุ ดของเลขนั้นบวกด้วยเลขที่ทาให้เกิดการ เปลี่ยน
หลัก ของค่าสู งสุ ด แล้วจึงลบด้วย เลขจานวนนั้นอีกที่หนึ่ง
เลข 2910 มี คอมพลีเมนท์ เป็ น
 10’s Comp : (99 + 1) - 29 = 71
เลข 101.112 มีคอมพลีเมนทิเป็ น
 2’s Comp : (111.11 + .01) - 101.11 =
0010.01
204101 Introduction to Computer
25
ข้ อสั งเกตุเกีย่ วกับคอมพลีเมนท์์
การหา R-1 Complement คือ การนาเลขจานวนนั้นลบ
ออกจากเลขสูงสุ ด
1’S Complement ในเลขฐาน 2 คือ การเปลี่ยนค่าของ
แต่ละบิตให้ตรงกันข้าม
ค่า R-1 Complement มีค่าน้อยกว่า R Complement อยู่
1 เสมอ ณ หลักขวามือสุ ด

2’S Comp = 1’S Comp + 1
ที่หลักขวามือสุ ด
204101 Introduction to Computer
26
การลบเลขแบบคอมพลีเมนท์
นาเลขตัวลบไปหาคอมพลีเมนท์
นาคอมพลีเมนท์ที่หาได้ บวก กับเลขตัวตั้ง
ผลลัพธ์ที่ได้ถา้ มีเลขเกินหลัก
กรณี R’S Comp. ให้ตดั ทิ้ง
กรณี R-1’S Comp. ให้นาเลขที่เกินหลัก บวกกับผลลัพธ์
ผลที่ได้คือคาตอบ
204101 Introduction to Computer
27
ตัวอย่ างการลบเลขแบบคอมพลีเมนท์
R-1’ Comp.
4325 - 1435 = ?
1011.011 2- 111.1012 = ?
1 444 - 143 = 301 1 1 111.111- 0 111.101= 1 000.010
2
3
432 +
301
1 233
1
234
+
4325 - 1435 = 2345
เทียบได้ก ับฐาน 10
(117-48)10=6910
2
3
1011.011 +
1000.010
1 0011.101 +
1
0011.110
1011.011 2- 111.1012 = 11.112
เทียบได้ก ับฐาน 10
204101 (11.375-7.625)
Introduction to Computer
10=3.7510
28
ตัวอย่ างการลบเลขแบบคอมพลีเมนท์
คอมพลีเมนท์ ที่ R
4325 - 1435 = ?
1011.011 2- 111.1012 = ?
1 1000 - 143 = 3021 10000.000- 0 111.101= 1 000.011
2
3
432 +
302
1 234
ต ัดทิง้
4325 - 1435 = 2345
เทียบได้ก ับฐาน 10
(117 - 48)10 = 6910
2
3
1011.011 +
1000.011
1 0011.110
ต ัดทิง้
1011.011 2- 111.1012 = 11.112
เทียบได้ก ับฐาน 10
204101 (11.375
Introduction to Computer
- 7.625)10 = 3.7510
29
การแทนรหัสข้ อมูลในหน่ วยความจา
Data Representation
การแทนรหัสข้อมูลที่เป็ นอักขระ (Alphanumeric Data
Representation)
การแทนรหัสข้อมูลที่เป็ นจานวนเลข (Numeric Data
Representation)
เลขจานวนเต็ม (Integer Representation)
เลขที่มีจุดทศนิยม (Floating Point Representation)
204101 Introduction to Computer
30
การแทนข้ อมูลทีเ่ ป็ นอักขระ
รหัส BCD : Binary Coded Decimal Code
รหัส EBCDIC: Extended Binary Coded Decimal
Interchange Code
รหัส ASCII : American Standard Code for Information
Interchange
204101 Introduction to Computer
31
รหัส BCD
ใช้ 6 บิตแทนอักขระ 1 ตัว
ระบบนี้แทนอักขระได้ 64 ตัว ( 26
รู ปแบบ)
C
B
A
8
2 1
4
Digit bit
Zone bit
Check bit/ Parity bit
204101 Introduction to Computer
32
รหัส BCD
การแทนรหัส BCD
อักขระแบบตัวเลข (0 - 9) Zone Bit จะเป็ น 00
อักขระแบบตัวอักษร หรื อ สัญลักษณ์พิเศษ Zone bit
เป็ น 11
204101 Introduction to Computer
33
รหัส EBCDIC
ใช้ 8 บิตแทนอักขระ 1 ตัว
ระบบนี้แทนอักขระได้ 256 ตัว ( 28
รู ปแบบ)
C
8
4
2
1
8
4
2
1
Digit bit
Zone bit
Check bit/ Parity bit
204101 Introduction to Computer
34
รหัส EBCDIC
การบันทึกข้อมูลในระบบ EBCDIC มี 2 แบบ
การบันทึกแบบ Zone Decimal
การบันทึกแบบ Packed Decimal
การบันทึกแบบตัวเลข Zone bit มีค่าเป็ น
1111 สาหรับเลขที่ไม่มีเครื่ องหมายนาหน้า ( 12 ,F)
1100 สาหรับเลขที่มีเครื่ องหมายบวก และ (+12 ,C)
1101 สาหรับเลขที่มีเครื่ องหมายลบ
(-12 ,D)
204101 Introduction to Computer
35
204101 Introduction to Computer
36
การแทนข้ อมูลแบบ Packed Decimal
เป็ นการเปลี่ยนลักษณะการเก็บรหัส EBCDIC ให้ใช้ใน
การคานวณ
การเปลี่ยนนี้จานวนหลักสามารถยืดหยุน่ ได้
ไม่ใช้กบั ตัวเลขที่เป็ นจุดทศนิยม
204101 Introduction to Computer
37
วิธีการ Packed Decimal
“ -123 ” 1101 0001 1101 0010 1101 0011
สลับส่ วน Zone bit และ Digit bit ของไบท์ขวาสุ ด
ตัด Zone bit ของไบท์ ที่เหลือ
บีบข้อมูลซึ่งเป็ น Digit Bit เข้ามา
มักทาอยูใ่ นเลขฐาน 16 (123D)16
วิธี Unpack ทาตรงกันข้าม กับการ Pack
204101 Introduction to Computer
38
รหัส ASCII
มี 2 ชนิด คือ 7 บิท กับ 8 บิท กาหนดให้ตวั เลข
มีค่าน้อยกว่าตัวอักษรเป็ นรหัสที่นิยมในปั จจุบนั
ลักษณะคล้าย EBCDIC มี Zone bit
 มี 0101 และ 011 สาหรับตัวเลข
 มี 1010 และ 100 สาหรับตัวอักษร
204101 Introduction to Computer
39
Parity bit หรือ Check bit
เป็ นบิทที่ใช้ตรวจสอบการ
แทนรหัส มี 2 ระบบ
Even Parity ระบบจานวนคู่
ระบบนี้ตอ้ งมีบิทที่เป็ นเลข 1
ทั้งหมดมีจานวนเป็ นเลขคู่
Odd Parity ระบบจานวนคี่
ระบบนี้ตอ้ งมีบิทที่เป็ นเลข 1
ทั้งหมดมีจานวนเป็ นเลขคี่
204101 Introduction to Computer
1 110001
0 110101
0 110001
1 110101
40
การแทนรหัสข้ อมูลทีเ่ ป็ นตัวเลข
การแทนข้อมูลแบบนี้ กาหนดเนื้อที่ในหน่วยความจามี
ขนาดตายตัว (Fixed length word) สาหรับแทนตัวเลข 1
จานวน
half-word ใช้เนื้อที่ 2 ไบท์
Full-word ใช้เนื้อที่ 4 ไบท์
Double-word ใช้เนื้อที่ 8 ไบท์
204101 Introduction to Computer
41
การแทนเลขจานวนเต็ม
Sign Magnitude / Pure binary code
2’S Complement
1’S Complement
** หมายเหตุ
โดยทัว่ ไปแล้วการแทนเลขด้วยระบบ 1’S Complement, 2’S Complement
จะใช้สาหรับการแทนเลขจานวนเต็มลบ ดังนั้นถ้าเลขที่ตอ้ งการแทนด้วยระบบ 1’S
Complement, 2’S Complement เป็ นเลขจานวนเต็มบวก ก็จะแสดงคาตอบเหมือนกับใช้วิธี
Sign Magnitude
204101 Introduction to Computer
42
Sign Magnitude
ระบบนี้บิตซ้ายสุ ดแทนเครื่ องหมายเรี ยกว่า Sign bit ที่
เหลือแทนขนาดของจานวนเลข เรี ยกว่า Magnitude
LSB
MSB
Sign
bit
แทน ลบ
0 แทน บวก
Magnitude
1
1 Word = 4 Byte = 32 Bit
204101 Introduction to Computer
43
แสดงการแทนค่ า
แบบ Sign Magnitude
1 Word = 4 Byte = 32 bit
บิตที่ 32
31
0
บิตที่ 1
2
0 0 .....................
1
0
011001
1 0 0 ......................... 0 1 1 0 0 1
204101 Introduction to Computer
25=110012
-25
44
แสดงการแทนค่ า (เพิม่ เติม)
การแสดงจานวนเลขในระบบ 1’S Complement ดังนี้
โจทยเป็ นเลขจานวนเต็มบวก แทน ด้วย true binary
เช่น 32, 109 , 2008 เป็ นต้น
โจทยเป็ นเลขจานวนเต็มลบ จะใช้คำ่ 1’S
Complement ของเลขจานวนบวกนั้น แทนเป็ นเลขลบของ
เลขบวกจานวนนั้น เช่น -32, -109 , -2008 เป็ นต้น
204101 Introduction to Computer
45
ตัวอย่ าง การแทนค่ า 1’ Complement
เช่น ต้องการแทนค่า 28 ด้วยระบบ 1’S Comp
28 = 111002
แปลง 28 จานวนเต็มเป็ นฐาน 2 ในรู ปแบบ32 บิต
MSB
LSB
000000..............0000000000 1 1 1 0 0
ค่ า true binary ของเลข 28
จะได้ คาตอบคือ 0 0000000 00000000 00000000 00011100
แทนเลขจานวนเต็มบวก 28 ด้ วยวิ204101
ธี 1’s
Comp
Introduction to Computer
46
ตัวอย่ าง การแทนค่ า 1’ Complement
เช่น ต้องการแทนค่า -28 ด้วยระบบ 1’S Comp
true binary ของเลขบวก
28 = 111002
MSB
28 จานวนเต็มเป็ นเลขฐาน 2
ในรู ปแบบ 32 บิต
LSB
00000000 00000000 00000000 000 1 1 1 0 0
หาค่ า 1’S Comp ของ 28 ที่แปลงเป็ นฐาน 2 โดยทาการกลับบิตข้ อมูลของทุกบิต ในรู ปแบบ 32
บิต นั่นคือจะใช้ 1’s comp ของเลขบวกแทนเลขลบของเลขบวกนั้น
11111111 11111111 11111111 1110 0 0 1 1
ดังนั้นจะแทน -28 ด้ วยวิธี 1’S Comp ในรู ปแบบ 32 บิต ได้ ดงั นี้
1 1111111 11111111 11111111 1110 0 0 1 1
204101 Introduction to Computer
47
แสดงการแทนค่ า
แบบ 2’S Complement
เป็ นระบบที่นิยมใช้ในเครื่ องคอมพเตอร
การแสดงจานวนเลขในระบบ 2’S Complement ดังนี้
โจทยเป็ นเลขบวก แทนดวยค
ำ่ true binary ของ
้
เลขบวกนั้น
โจทยเป็ นเลขลบ จะใช้คำ่ 2’S Complement ของ
เลขบวกจานวนนั้น แทนเป็ นเลขลบของเลขบวกจานวนนั้น
204101 Introduction to Computer
48
ตัวอย่ าง การแทนค่ า 2’ Complement
เช่น ต้องการแทนค่า -28 ด้วยระบบ 2’S Comp
True binary ของ 28
MSB
28 = 111002
แปลง 28 จานวนเต็มเป็ นฐาน 2
ในรู ปแบบ 32 บิต
LSB
00000000 00000000 0..0 0001 1 1 0 0
หาค่ า 1’S Comp ของ 28 ทีแ่ ปลงเป็ นฐาน 2
11111111 11111111 1..1 1110 0 0 1 1
1
ได้ คาตอบ คือ
+
11111111 11111111 1..1 111 0 0 1 0 0
หาค่ า 2’S Comp ของ204101
28 Introduction
ทีแ่ ปลงเป็
นฐาน 2 โดยนา 1 มาบวกกับหลักขวาสุ
ด
to Computer
49
Floating Point Representation
+E
 R = +- .M * B
31
Sign
30
24
Exponent
0
Mantissa
S Sign แทนเครื่ องหมาย บวก ลบ ของจานวนเลข
E Exponent ส่ วนที่ยกกาลัง
M Mantissa เลขที่อยูห่ ลังจุด
204101 Introduction to Computer
50
ขั้นตอนการทา Floating point
เปลี่ยนเลขไปเป็ นฐาน 16
Normalization เลขฐาน 16 (มีเลขหลังจุด และ ยกกาลัง)
ในรู ป R = +- .M * B+- E
เปลี่ยน Sign, Exponent, Mantissa เป็ นเลขฐาน 2
Sign : 1 แทนค่าลบ 0 แทนค่าบวก
Mantissa : เปลี่ยนเป็ นฐาน 2 เติมเลขโดยต่อจาก Exponent
จากซ้าย มำ ขวาที่เหลือเติมศูนย์เพื่อให้ mantissa ครบ 24
204101 Introduction to Computer
51
bit
ขั้นตอนการทา Floating point
Exponent เป็ นได้ท้ งั ค่าบวก หรื อ ลบ จึงต้องใช้
วิธี Excess 64
exponent 16 = 4016 + true exponent16
ที่มาของ 4016 คือ [ 64 = 4016 ]
exponent16 ----> exponent 2
204101 Introduction to Computer
52
ตัวอย่ าง ทา Floating point ที่เป็ นเลขจำนวนเต็ม
28 ----> 1C16
ถอยไปหลังจุดกี่ตวั ก็จะได้เลขยก
กาลังของ (1016 ) เท่านั้น
1C16 = (+.1C * 102)16
จะได้ true exponent คือ 216
Sign ----> 0
Mantissa ----> 0001 11002
Exponent ----> 4016 + 216 = 42 16 --> 100 00102_
0 100 0010 0001 1100 0000.............0000
1 bit
7 bit
24 bit
204101 Introduction to Computer
53
ตัวอย่ าง ทา Floating point ที่เป็ นเลขทศนิยม
-28.5 ----> -1C.816
** สังเกตว่า ถอยไปหลังจุด 2
ตาแหน่งจะได้ true exponent
 -1C.816 = (-.1C8 * 102)16
คือ 216
Sign ----> 1
Mantissa ----> 0001 1100 10002
Exponent ----> 4016 + 216 = 42 16 100 00102
1 100 0010 0001 1100 1000 0000..0000
1 bit
7 bits
24 bits
204101 Introduction to Computer
แบบฝึ กหัดที่ 2
1. จงแสดงวิธก
ี ารลบเลขแบบธรรมดา , R
complement และ R-1 Complement ของ
(5624-567)8
=( ? )8
2. จงแสดง Floating Point Representation ของ
เลขฐานต่อไปนี้ ด้วยวิธ ี Excess 64
•
75.2510
•
10011.102
204101 Introduction to Computer
55
จงแสดงวิ
ี ารแปลงเลขฐานต่
าเพือ
่
1.จงแสดงวิ
ธธก
ี ท
อไปนี้
100.15
= ( ? ) 10
123 = ( ? ) 5
101011.0112 =( ? )16
2358
= ( ? )16
แบบฝึ กหัด
2. การแทนค่าเลขจานวนเต็มด้วยวิธ ี 2’s complementของ
-33
กรณีใช ้ 2 ไบต์
้ ว้ ยวิธE
3. การแสดงFloating Point Representationของเลขฐานต่อไปนีด
ี xcess 64
a)75.25
b) -100011011.102
204101 Introduction to Computer
56
4. แสดงการลบเลขฐานต่อไปนี้ แบบ 1’s complement และแบบ 2’s complement
จงแสดงวิ
ี ารแปลงเลขฐานต่
าเพือ
่
1.จงแสดงวิ
ธธก
ี ท
อไปนี้
100.15
= ( ? ) 10
123 = ( ? ) 5
101011.0112 =( ? )16
2358
= ( ? )16
•
•
•
•
แบบฝึ
กหั
ด
25.02
503
10
5
2B.6
9D
16
16
2. การแทนค่าเลขจานวนเต็มด้วยวิธ ี 2’s complementของ
11111111111010002
-33
กรณีใช ้ 2 ไบต์
้ ว้ ยวิธE
3. การแสดงFloating Point Representationของเลขฐานต่อไปนีด
ี xcess 64
a)75.25
b) -100011011.102
01000010010010110100000000000000
11000011000100011011100000000000
204101 Introduction to Computer
57
4. แสดงการลบเลขฐานต่อไปนี้ แบบ 1’s complement และแบบ 2’s complement