View
2
Download
0
Category
Preview:
Citation preview
ตอนท 2 การแทนขอมลในคอมพวเตอร
เคาโครงเนอหาในตอนท 2
1. หนวยของขอมล และระบบเลขเลขฐาน 2
2. การเกบเลขจ านวนเตม
3. การเกบเลขทศนยม
4. การบบอดขอมล
5. การเกบขอมลรปภาพ
2
Bit และ Byte
• หนวยพ นฐานของขอมลในระบบคอมพวเตอรเรยกวา bit ซงมาจากการยอค าวา Binary
Digit โดยแทนดวยตวเลขหนงหลก 0 หรอ 1
• bit เปรยบเสมอนสถานะทางไฟฟา ซงม 2 สถานะคอ เปด (แทนดวย 1) และ ปด
(แทนดวย 2)
• ในป 2507 คอมพวเตอร IBM เรมตนการเรยกกลมของ bit จ านวน 8 bits วา Byte
3
Words
• Words คอกลมของ Byte ตงแต 1 Bytes ข นไป ทมกจะถกเรยกใชงานพรอมกน
• ขนาดของ Word คอขนาดของขอมลทคอมพวเตอรนน ๆ ประมวลผลไดอยางม
ประสทธภาพ
• ในปจจบนขนาดของ Word มสองแบบทใชกนอยางแพรหลาย คอ 32 bits และ 64 bits
4
ระบบเลขฐานสบ
• เลขจ านวนทเราใชอยในปจจบนคอเลขฐานสบ
• ในเลขฐานสบ จะมตวเลขทงหมด 10 ตวคอ 0 1 2 3 4 5 6 7 8 และ 9
• ในระบบเลขฐาน คาของตวเลขจะเพมข นในแตละหลกดวยการยกก าลงฐานนน
• เชน เลข 129 มคาเปน 1×102 + 2×101 + 9×100
• ในบางครง เราจะเขยนฐานก ากบไว เพอใหทราบวาเลขนมาจากฐานใด เชน 12910
5
ระบบเลขฐานสอง
• ระบบเลขฐานสองเปนระบบเลขทน ามาใชกบการกระท าของขอมลในระบบคอมพวเตอร
• ในระบบเลขฐานสอง จะมตวเลขอยสองตวคอ 0 และ 1 (เชนเดยวกบ bit)
• คาของเลขฐานสองเมอเทยบกบฐานสบ สามารถท าไดเชนกบเลขฐานสบ
• 1010012
= 1×25 + 0×24 + 1×23 + 0×22 + 0×21 + 1×20 = 4110
6
การแปลงเลขฐาน (จ านวนเตม)
• การแปลงเลขฐานสบใหเปนเลขฐานสอง สามารถท าไดโดยการหารเกบเศษดวย 2
• เชน ถาตองการเปลยน 20210ใหเปนเลขฐานสอง สามารถท าไดดงน
202 ÷ 2 = 101 เศษ 0 6 ÷ 2 = 3 เศษ 0
101 ÷ 2 = 50 เศษ 1 3 ÷ 2 = 1 เศษ 1
50 ÷ 2 = 25 เศษ 0 1 ÷ 2 = 0 เศษ 1
25 ÷ 2 = 12 เศษ 1
12 ÷ 2 = 6 เศษ 0
20210
= 110010102
7
การแปลงเลขฐาน (ทศนยม)
• ถาตองการเปลยนเลขฐานในสวนทเปนทศนยม สามารถท าไดโดยการคณฐานนนไปเรอย ๆ จนสวนทเปนทศนยมมคา 0 หรอไดจ านวนต าแหนงทศนยมทตองการ โดยดท
สวนทเปนจ านวนเตมของแตละการคณ
• เชน ถาตองการเปลยน 0.32510
ใหเปนเลขฐานสอง
0.375 × 2 = 0.75
0.75 × 2 = 1.5 (ถาสวนเปนจ านวนจรงมคามากกวา 0
0.5 × 2 = 1.0 ใหละเวนในการคณขนถดไป)
0.37510
= 0.0112
8
การแปลงเลขฐาน (ตอ)
• ตวเลขทศนยมทเปนทศนยมรจบในเลขฐานหนงอาจจะเปนทศนยมไมรจบในอกเลขฐานหนงได ซงกถอเปนขอจ ากดของคอมพวเตอร
• คอมพวเตอรไมสามารถเกบเลข 0.1 แบบตรง ๆ ได เนองจาก
0.1 × 2 = 0.2 0.6 × 2 = 1.2
0.2 × 2 = 0.4 0.2 × 2 = 0.4
0.4 × 2 = 0.8 0.4 × 2 = 0.8
0.8 × 2 = 1.6 …
สงเกตเหนวารปแบบเรมซ า ดงนน 0.110
= 0.000112
9
การเกบเลขจ านวนเตมในคอมพวเตอร
• คอมพวเตอรเกบเลขจ านวนเตมในรปแบบของเลขฐานสอง
• จ านวนหลกของเลขฐานสองทเกบคอขนาดของ Word ของคอมพวเตอรนน ๆ
• ถา Word มขนาด n bits ต าแหนงซายสดจะเปนก าหนดเครองหมายของตวเลข โดยท 0
คอจ านวนเตมบวก และ 1 คอจ านวนเตมลบ n-1 bits ทเหลอคอคาของตวเลขนน
• เชน ถาตองการเกบเลข 2510กตองแปลงเปนเลขฐานสองกอนนนคอ 11001
2ถา
Word มขนาด 8 bits คาทเกบในคอมพวเตอรคอ
0001 1001
ในกรณทเลขฐานสองมจ านวนต าแหนงนอยกวาจ านวน bit ทเกบไดใหเพมเลข 0 ไว
ดานหนา10
การบวกเลขฐานสอง
• การบวกเลขฐานสองเหมอนกนการบวกเลขฐานสบ แตเนองจากตวเลขในเลขฐานสองมแคสองตว 1 + 1 จงเทากบ 0 แลวจะตองมการทดไปยงต าแหนงถดไป
• การนบเครองหมายถอเปนเรองส าคญ• ถาเลขทงสองจ านวนมเครองหมายเหมอนกน ผลลพธทไดกจะมเครองหมายเหมอนกน
• ถาเลขทงสองจ านวนมเครองหมายตางกน ผลลพธจะมเครองหมายของเลขทใหญกวา
11
ตวอยางการบวกเลขจ านวนเตม
• ตองการบวก 0010 1010 + 0000 1111 ในคอมพวเตอร 8 bits
ทด 1 1 1
0 1 0 1 0 1 0 42
+ 0 0 0 1 1 1 1 +15
0 1 1 1 0 0 1 57
ทงสองจ านวนมเครองหมายเหมอนกน ดงนนค าตอบคอ 0011 1011
12
เหตการณ Overflow
• เหตการณ Overflow คอเหตการณทผลลพธของการบวกเลขมจ านวนหลกมากกวาคาท
เกบได (ทดเกนจ านวนหลก)
• เชนถาตองการบวก 75 + 100 ในคอมพวเตอรขนาด 8 Bits
ทด 1 1 1 1
1 0 0 1 0 1 1 75
+ 1 1 0 0 1 0 0 +100
0 1 0 1 1 1 1 47
ค าตอบทไดคอ 0010 1111 หรอ 47 ซงเปนค าตอบทไมถกตอง
13
การลบเลขจ านวนเตม
• การลบเลขฐานสองมลกษณะคลายเลขฐานสบคอมการยมคาจะหลกทใหญกวา ในทคาทยมไดจะเปน 2 แทนทจะเปน 10 เนองจากเปนเลขฐานสอง
• การค านวณเครองหมายท าใหการลบซบซอน เนองจากตองค านวณวาเลขตวไหนมขนาดใหญกวา
• เนองจากการลบโดยวธปกตทวไปยงยากส าหรบคอมพวเตอร จงมการคดวธทเปลยนการลบใหกลายเปนการบวกดวยระบบทเรยกวา Complement
• ระบบ Complement มทงสนสองแบบคอ One’s Complement และ Two’s Complement
14
ระบบ Complement
• สมมตวาเราตองการลบเลข 67 – 52 ในระบบเลขฐานสบ เราจะใชวธการบวก 167
ดวย -52 ดงนนเราจ าเปนตองแปลง -52 ใหอยในรปของ Complement
• Complement ของตวเลขเลขหนง คอตวเลขทเมอน าไปบวกเลขนนไดคาทสงสดทม
จ านวนหลกเทากน เชน 47 คอ Complement ของ 52 เพราะ 47 + 52 = 99
• ถาหากเราลองเอา 67 มาบวกกบ 47 จะได 114 ซงถาเราน าหลกทเกนมาบวกเพมกบ
เลขทเหลออยจะไดเปน 14 + 1 = 15 ซงคอผลลพธของ 67 – 52
• ดงนนการลบเลขคอการบวกดวย Complement ของเลขนน
• ส าหรบเลขฐานสองแลวการหา Complement สามารถท าไดงายมาก
15
ระบบ One’s Complement
• เราจะแปลงเลขตดลบใหอยในรปของ Complement
• Complement ของเลขฐานสองใชวธเดยวกบ Complement ของเลขฐานสบ เชน
Complement ของ 0100 0111 คอ 1011 1000 เนองจากน ามาบวกกนได 1111
1111
• เราจะสงเกตเหนวาการหา Complement ของเลขฐานสองสามารถท าไดงายมากโดยการ
เปลยน 0 เปน 1 และ 1 เปน 0
16
การลบเลขดวยระบบ One’s Complement
• ถาตองการลบ 0100 0011 (67) ดวย 0011 0100 (52)
• แปลง 0011 0100 ใหเปน Complement นนคอ 1100 1011
ทด 1 1 1 1
0 1 0 0 0 0 1 1 67
+ 1 1 0 0 1 0 1 1 +(-52)
0 0 0 0 1 1 1 0
น าหลกทเกนกลบเขามาบวก จะได 0000 1110 + 1 = 0000 1111 = 15
17
การลบเลขดวยระบบ One’s Complement
• ถาตองการลบ 0011 0100 (52) ดวย 0100 0011 (67)
• แปลง 0100 0011 ใหเปน Complement นนคอ 1011 1100
ทด 1 1 1 1
0 0 1 1 0 1 0 0 52
+ 1 0 1 1 1 1 0 0 +(-67)
1 1 1 1 0 0 0 0 (-15)
1111 0000 คอ Complement ของ 0000 1111 หรอ 15 ดงนนค าตอบคอ -15
18
การตรวจ Overflow ในระบบ Complement
• เราสามารถตรวจสอบเหตการณ Overflow ในระบบ Complement ดวยการตรวจสอบวา
เลขทดทต าแหนงสดทายตรงกบเลขทดทเกนมาหรอไม
ทด 0 1
0 1 0 0 1 0 1 1 75
+ 0 1 1 0 0 1 0 0 +100
1 0 1 0 1 1 1 1 (-80)
สงเกตวาเลขทดทเกนมาคอ 0 สวนเลขทดทต าแหนงสดทายคอ 1 ไมตรงกนดงนนการ
บวกนท าใหเกดเหตการณ Overflow
19
การเกบเลขทศนยมในคอมพวเตอร
• เลขทศนยมจะถกแบงออกเปนสามสวนในระบบคอมพวเตอรคอ• เครองหมาย
• เลขยกก าลง
• จ านวนหลงจดทศนยม
• เพองายตอการท าความเขาใจเราจะใชระบบ 14 bits ในการเกบเลขทศนยมโดยแบงเปน
• เครองหมาย 1 bit
• เลขยกก าลง 5 bit
• จ านวนหลงจดทศนยม 8 bit
20
ตวอยางการเกบเลขทศนยม
• ถาเราตองการเกบเลข 3.125 เราตองแปลงเลขนใหกลายเปนเลขฐานสองกอน
3 = 11.001
• จากนนปรบใหอยในรปของ 0.A × 2B
11.001 = 0.11001 × 22
• เมอน าแตละสวนมารวมกนจะไดคาทเกบคอ
0 00010 11001000
สงเกตวาถาจ านวนเลขหลงจดทศนยมไมครบใหเตม 0 ตอทาย
21
กรณเลขยกก าลงตดลบ
• ถาตวเลขมขนาดเลกมากท าใหเมอแปลงมาอยในรปของ 0.A × 2B แลว B เปนจ านวน
ตดลบ
• หนงวธทเราสามารถท าไดคอการให bit ซายสดระบเครองหมาย แตในทางปฏบตแลว
เราจะใชวธการปรบขอบเขตของตวเลข โดยการบวกคากงกลางของขอบเขตนนใหกบเลข
ยกก าลง เนองจากเราใช 5 bits ในการเกบเลขยกก าลง ขอบเขตของตวเลขคอ 0 – 31
ซงคากลางคอ 16
• ดงนนเลข 0.11001 × 22 จะถกเกบเปน 0 10010 11001000 (18 = 10010)
• สวนเลข 0.11001 × 2-2 จะถกเกบเปน 0 01100 11001000 (14 = 01100)
22
ขนาดของขอมลในหนวยความจ า
• ขอมลทเปนอกขระจะใชพ นทในการเกบ 8 bits หรอ 1 Byte ซงขนาดของขอมลในหนง
ไฟลคอจ านวนอกขระนนเอง เชน ขอความ I LOVE ICECREAM มทงสน 15 อกขระจงใช
พ นทในการเกบขอมล 15 Bytes (ชองวางถอเปนอกขระ)
• ส าหรบอกขระในภาษาอน อาจจะใชพ นทในการเกบมากกวา 1 Byte เนองจากอาจจะม
ตวอกษรเกน 256 (รวมตวเลขและสญลกษณตาง ๆ)
23
การบบอดขอมล
• เราสามารถลดขนาดของขอมลลงไดโดยการปรบเปลยนการแทนคาของตวอกษร
• เราจะสงเกตเหนวาตวอกขระบางตวปรากฏบอยกวาอกขระตวอน ถาเราใชจ านวน bit ท
นอยลงแทนคาตวอกขระทเจอบอยแลวเพมจ านวน bit ใหมากข นกบตวอกษรทแทบจะ
ไมไดเจอ เราสามารถจะลดขนาดของขอมลได
• วธการของ Huffman เปนวธทสรางการแทนคาของตวอกษรทท าใหขนาดของขอมล
นอยลงอยางมากและมประสทธภาพสง
24
ตวอยางการบบอดขอมล
• สมมตวาเรามตวอกขระอย 4 ตวคอ A B C และ D โดยแตละตวปรากฏทงหมด 5, 20,
30 และ 45 ครงตามล าดบ
• โดยปกตแลวเราจะใหทกอกขระแทนดวยจ านวน bit ทเทากนเชน A = 00, B = 01, C =
10, D = 11 จะท าใหไฟลนมขนาด 5 × 2 + 20 × 2 + 30 × 2 + 45 × 2 = 200 bits
• แตถาเราแทนคาใหมเปน A = 111, B = 110, C = 10, D = 0 ไฟลเดมจะมขนาดเปน
5 × 3 + 20 × 3 + 30 × 2 + 45 × 1 = 180 bits ซงลดลงจากเดม
25
ขอมลรปภาพ
• ขอมลรปภาพจะถกเกบอยในรปแบบของตาราง โดยหนงจดในรปภาพเราจะเรยกวา Pixel
• ส าหรบภาพขาวด า แตละ Pixel สามารถแทนดวยแรกตวเดยวไดโดยจะเปนความสวาง
ของแสง (0 แทนสด า และ คามากทสดแทนสขาว)
• ส าหรบภาพส แตละ Pixel จะประกอบดวยเลขสามตวคอความเขมแสงของสแดง สเขยว
และสฟา
26
ความละเอยดของรปภาพ
• ความละเอยดของรปภาพแบงออกเปนสองสวนคอขนาดของรปภาพและความลกของส
• ขนาดของรปภาพวดโดยจ านวน Pixel ในแนวกวาง (Width) และแนวสง (Height)
• ความลกของสหรอ Color Depth วดจากจ านวน bit ทเกบแตละ Pixel เชน ถา Color
Depth เทากบ 8 bit แตละ Pixel จะสามารถเกบคาของสไดกวาง 0 – 255 (มทงหมด
256 เฉดสทแตกตางกน)
• ปจจบน Color Depth ทนยมใชกนคอ True Color (24-bit) ซงจะมทงหมด 16 ลานกวา
เฉดส ในขณะทสายตาคนปกตสามารถแยกแยะไดประมาณ 10 ลานเฉดส
27
ค าถามทายบทเรยน
• จงแปลง 204.202 เปนเลขฐานสอง (ทศนยม 5 ต าแหนง)
• จงหา Complement ของ 255910
• จงหา Complement ของ -0011 01112
• จงหาคาของ 0110 00112– 0110 1111
2
• 12.345 จะถกเกบอยางไรโดยใชระบบ 14 bits
• ถาในไฟลมตวอกขระปรากฏอย 3 ตวคอ A, B และ C โดยแตละตวปรากฏทงสน 5, 30,
65 ครงตามล าดบ ถาไฟลนใช 2 bits ในการแทนอกขระหนงตว จงหาวาถาเลอกการ
แทนคาเปน A = 10, B = 0, C = 11 แลวขนาดไฟลจากเพมหรอลดลงกเปอรเซนต
28
เอกสารอางอง
• The Essentials of Computer Organization and Architecture by Linda Null and Julia
Lobur
29
Recommended