Computer Number System บทที่ 2 ระบบเลขจำนวน Computer Number System BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming เนื้อหา ฐานของระบบเลข ระบบเลขฐานสิบ ระบบเลขฐานสอง ระบบเลขฐานแปด ระบบเลขฐานสิบหก โครงสร้างข้อมูล BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ฐานของระบบเลข ให้ B เป็นฐานของเลขหลัก 0 คือเลขหลักที่น้อยที่สุด B-1 คือเลขหลักโตที่สุดที่จะใช้ได้ในระบบเลขฐาน B เลขฐาน B จะมีเลขโดดที่ใช้ได้ทั้งหมด B ตัวคือ 0,1,2,……,B-1 BC320 Introduction to Computer Programming
ระบบเลขฐานสิบ (Decimal System) ประกอบด้วยตัวเลข 10 ตัว ใช้สัญลักษณ์ 0,1,2,3,4,5,6,7,8 และ 9 ค่าประจำหลักเขียนได้ดังนี้ หลักหน่วย (หลักที่ 1) ค่าประจำหลัก 100 หลักสิบ (หลักที่ 2) ค่าประจำหลัก 101 หลักร้อย (หลักที่ 3) ค่าประจำหลัก 102 ………. ……………. ……………………. หลักที่ n ค่าประจำหลัก 10n-1 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.1 กำหนดให้ N = 8253 เขียนแทน N ด้วย 8253 = (8X103) + (2X102) + (5X101) + (3X100) = 8(1000) + 2(100) + 5(10) + 3 = 8000 + 200 + 50 + 3 BC320 Introduction to Computer Programming
การเขียนแทนเลขเศษส่วนและทศนิยม 10-1 = 1/10 10-2 = 1/100 10-3 = 1/1000 10-4 = 1/10000 10-5 = 1/100000 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.2 จงเปลี่ยน 837.526 ให้อยู่ในรูปของการกระจาย 837.526 = (8X102) + (3X10) + (7X100) + (5X10-1) + (2X10-2) + (6X10-3) = 800+30+7+5/10+2/100+6/1000 BC320 Introduction to Computer Programming
ระบบเลขฐานสอง (Binary System) ประกอบด้วยตัวเลข 2 ตัว คือ 0 และ 1 การอ่านเลขฐานสอง 10102 อ่านว่า หนึ่ง-ศูนย์-หนึ่ง-ศูนย์ ฐาน สอง การนับเลขฐานสอง 1 10 11 100 …….. BC320 Introduction to Computer Programming
การเปลี่ยนเลขฐานสองเป็นเลขฐานสิบ ทำได้โดยคูณเลขฐานสองแต่ละตัว ด้วยน้ำหนักประจำตำแหน่งของตัวเลขตัวนั้น แล้วนำผลลัพธ์มารวมกัน BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.3 จงเปลี่ยน 101112 ให้เป็นเลขในระบบฐานสิบ 101112 = (1X24) + (0X23) + (1X22) + (1X21) + (1X20) = 16+0+4+2+1 = 23 101112 = 23 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.4 จงเปลี่ยน 0.10112 ให้เป็นเลขในระบบฐานสิบ 0.10112 = (0X20) + (1X2-1) + (0X2-2) + (1X2-3) + (1X2-4) = 0 + 0.5 + 0 + 0.125 + 0.0625 = 0.6875 0.10112 = 0.6875 BC320 Introduction to Computer Programming
การเปลี่ยนเลขฐานสิบเป็นเลขฐานสอง ทำได้โดยเอาเลขฐานสิบตั้ง แล้วหารด้วยเลข 2 ไปเรื่อย ๆ จนกระทั่งผลลัพธ์เป็นศูนย์ ในการหารต้องเขียนเศษไว้ทุกครั้ง จากนั้นนำเศษตัวสุดท้ายมาเขียนเป็นเลขฐานสอง เริ่มตั้งแต่ตัวแรกเรียงกันไปจนหมดทุกตัว BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.5 จงเปลี่ยน 25 ให้เป็นเลขในระบบฐานสอง 2 หาร 25 ได้ 12 ครั้ง เหลือเศษ 1 2 หาร 12 ได้ 6 ครั้ง เหลือเศษ 0 2 หาร 6 ได้ 3 ครั้ง เหลือเศษ 0 2 หาร 3 ได้ 1 ครั้ง เหลือเศษ 1 2510 = 110012 BC320 Introduction to Computer Programming
การบวกเลขฐานสอง (Binary Addition) ขั้นที่ 1 บวกเลขหลักแรก (ขวามือสุด) ขั้นที่ 2 พิจารณาผลลัพธ์ของเลขที่บวก ถ้าผลบวกมากกว่า 1ให้ทดหลักถัดไป ขั้นที่ 3 ถ้ามีเลขอีกให้บวกต่อจนหมด หรือถ้ามีการทดจากขั้นที่ 2 นำมารวมกันก่อนจึงบวกจนหมด BC320 Introduction to Computer Programming
ตารางการบวกเลขฐานสอง + 1 10 BC320 Introduction to Computer Programming
ตารางข้อเท็จจริงของการบวกเลขฐานสอง เท่ากับ หมายเหตุ 0+0 0+1 1 1+0 1+1 ใส่ 0 ทด 1 1+1+1 ใส่ 1 ทด 1 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.6 จงหาผลบวกของ 110012 + 11012 ฐานสอง ฐานสิบ 11001 1(2)4 + 1(2)3 + 0 + 0 + 1(2)0 25 +1101 1(2)3 + 1(2)2 + 0 + 1(2)0 +13 100110 38 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.7 จงหาผลบวกของ1100111012 +101101112 110011101 + 10110111 1001010100 1100111012 +101101112 = 1001010100 BC320 Introduction to Computer Programming
ระบบเลขฐานแปด (Octal System) ประกอบด้วยตัวเลข 8 ตัว คือ 0,1, 2, 3, 4, 5, 6 และ 7 ค่าประจำหลัก ได้แก่ 80, 81, 82, 83,…., 8n-1 โดยเริ่มจากหลักขวามือสุดไปทางด้านซ้ายเป็นลำดับจนถึงหลักซ้ายมือ สุดคือหลักที่ n ที่มีค่าประจำหลักเป็น 8n-1 BC320 Introduction to Computer Programming
การเปลี่ยนเลขฐานแปดเป็นเลขฐานสิบ ตัวอย่างที่ 2.8 จงเปลี่ยนเลข 324528 เป็นเลขฐานสิบ 324528 = (3X84) + (2X83) + (4X82) + (5X81) + (2X80) = (3X4,096) + (2x512) + (4X64) + (5X8) + (2X1) = 12,288 + 1,024 + 256 + 40 + 2 = 13,610 324528 = 13,610 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.9 จงเปลี่ยน 0.34728 เป็นเลขฐานสิบ 0.34728 = (3X8-1)+(4X8-2)+(7X8-3)+(2X8-4) = 0.375+0.0625+0.01367+0.0005 = 0.45167 0.34728 = 0.45167 BC320 Introduction to Computer Programming
การเปลี่ยนฐานระหว่างฐานแปดกับฐานสอง เลขฐานแปด เลขฐานสอง 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.10 จงเปลี่ยนเลขฐานแปด 42068 เป็นเลขฐานสอง ทำได้โดย แทนค่าเลขฐานแปดแต่ละตัวด้วยเลขฐานสองคราวละ 3 ตัว(จากตาราง) จะได้ผลลัพธ์เป็น 4 2 0 6 (100)(010)(000)(110) BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.11 จงเปลี่ยนเลขฐานสอง 10 101 011 1112 ให้เป็นเลขฐานแปด ทำได้โดย แบ่งเลขฐานสองออกเป็นกลุ่มละ 3 ตัว เริ่มจากขวาสุด แล้วแทนแต่ละกลุ่มด้วยเลขฐานแปดที่เท่ากันจะได้ผลลัพธ์ (10)(101)(011)(111) 2 5 3 7 BC320 Introduction to Computer Programming
การบวกเลขฐานแปด ทำได้ 2 วิธี คือ การบวกเลขฐานแปด ทำได้ 2 วิธี คือ หาผลบวกของเลขฐานสิบ แล้วจึงค่อยแปลงเป็นเลขฐาน 8 แปลงผลบวกของเลขฐานสิบ ถ้าผลบวกนั้นมากกว่า 7 ให้ลบด้วย 8 แล้วทด 1 ด้วยตำแหน่งต่อไป BC320 Introduction to Computer Programming
ตัวอย่างที่ 2.12 จงหาค่าของ ตัวอย่างที่ 2.12 จงหาค่าของ 58 + 48 68 + 78 38 + 28 78 + 48 58 + 28 78 + 38 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming วิธีทำ ข้อ (1) (2) (3) (4) (5) (6) 5 6 3 7 5 7 +4 +7 +2 +4 +2 +3 ผลบวกฐานสิบ 9 13 5 11 7 10 ค่าเปลี่ยนฐาน -8 -8 -0 -8 -0 -8 ผลบวกฐานแปด 11 15 5 13 7 12 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.13 จงหาค่าของ 73468+52638 วิธีทำ 7 3 4 6 + 5 2 6 3 12 5 10 9 ผลบวกฐานสิบ - 8 -0 - 8 -8 ค่าเปลี่ยนฐาน 1 4 6 3 1 ผลบวกของฐานแปด BC320 Introduction to Computer Programming
ระบบเลขฐานสิบหก (Hexadecimal System) ประกอบด้วยตัวเลข 10 ตัว คือ 0,1,… 9 และอักษรตัวพิมพ์ใหญ่ในภาษาอังกฤษ อีก 6 ตัว คือ A,B,C,D,E,F ซึ่ง A มีค่าเป็น 10 , B มีค่าเป็น 11, …… และ F มีค่าเป็น 15 BC320 Introduction to Computer Programming
ตารางแสดงค่ายกกำลังของ 16 16 ยกกำลัง ค่าในฐานสิบ 16-3 1/4096= 0.000024 16-2 1/256= 0.0039062 16-1 1/16= 0.0625 160 1 161 16 162 256 163 4096 164 65536 165 1048576 BC320 Introduction to Computer Programming
การเปลี่ยนฐานระหว่างฐานสิบหกกับฐานสิบ ตัวอย่างที่ 2.14 จงเปลี่ยนเลข 73D516 ให้เป็นเลขฐานสิบ 73D516 =(7X163)+(3X162)+(13X161)+(5X160) = (7X4096)+(3X256)+(13X6)+(5X1) = 28672+768+208+5 =29653 BC320 Introduction to Computer Programming
ตัวอย่างที 2.15 จงเปลี่ยนเลข 39.B816 ให้เป็นเลขฐานสิบ 39.B816 = (3X161) + (9X160) + (11X16-1) + (8X16-2) = (3X16) + (9X1) + (11X0.0625) +(8X0.00390) = 48 + 9 + 0.6875 + 0.03125 = 57.71875 BC320 Introduction to Computer Programming
ตัวอย่างที 2.16 จงเปลี่ยนเลขฐานสิบ 9719 ให้เป็นเลขฐานสิบหก 16 หาร 9719 ได้ 607 ครั้ง เหลือเศษ 7 16 หาร 607 ได้ 37 ครั้ง เหลือเศษ 15 16 หาร 37 ได้ 2 ครั้ง เหลือเศษ 5 9719 = 25F716 BC320 Introduction to Computer Programming
ตารางเปรียบเทียบค่าเลขฐานต่าง ๆ เลขฐานสิบหก เลขฐานสิบ เลขฐานสอง 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 BC320 Introduction to Computer Programming
ตารางเปรียบเทียบค่าเลขฐานต่าง ๆ (ต่อ) เลขฐานสิบหก เลขฐานสิบ เลขฐานสอง 8 1000 9 1001 A 10 1010 B 11 1011 C 12 1100 D 13 1101 E 14 1110 F 15 1111 BC320 Introduction to Computer Programming
การเปลี่ยนฐานกลับไปมาระหว่างเลขฐานสิบหกกับเลขฐานสอง ตัวอย่างที 2.16 จงเปลี่ยนเลขฐานสิบหก 3D5916 ให้เป็นเลขฐานสอง 3 D 5 9 0011 1101 0101 1001 นั่นคือ 3D5916 = 111101010110012 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.18 จงเปลี่ยนเลขฐานสอง 10 1101 0010 11102 ให้เป็นเลขฐานสิบหก (10) (1101) (0010) (1110 ) 2 D 2 E นั่นคือ 10 1101 0010 11102 = 2D2E BC320 Introduction to Computer Programming
การบวกเลขฐานสิบหก ทำได้ 2 วิธี คือ การบวกเลขฐานสิบหก ทำได้ 2 วิธี คือ หาผลบวกของเลขฐานสิบ แล้วจึงค่อยแปลงเป็นเลขฐาน 16 แปลงผลบวกของเลขฐานสิบ ถ้าผลบวกนั้นมากกว่า 15 ให้ลบด้วย 16 แล้วทด 1 ด้วยตำแหน่งต่อไป BC320 Introduction to Computer Programming
ตารางแสดงการบวกเลขฐานสิบหก + 1 2 ... D E F … 3 10 1A 1B 1C 1D 11 1E BC320 Introduction to Computer Programming
ตัวอย่างที่ 2.19 จงหาผลบวกของเลขฐานสิบหกต่อไปนี้ ตัวอย่างที่ 2.19 จงหาผลบวกของเลขฐานสิบหกต่อไปนี้ C + D 3 + B F + D 1 + 4 + 6 1 + 5 + C 1 + E + 6 BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming ตัวอย่างที่ 2.20 จงหาผลบวกของเลขฐานสิบหก C878+72D9 วิธีทำ C 8 7 8 + 7 2 D 9 19 10 20 17 ผลบวกฐานสิบ -16 -16 -16 -16 ค่าเปลี่ยนฐาน 13 B 5 1 ผลบวกของฐานสิบหก BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming โครงสร้างข้อมูล Database File Record Field Byte/Char Bit BC320 Introduction to Computer Programming
BC320 Introduction to Computer Programming Q&A การบ้านท้ายบทที่ 2 ข้อใหญ่ 1,3,5,7 (ข้อที่มีข้อย่อย ทำทุกข้อย่อย) ห้ามพิมพ์ส่ง เขียนใส่กระดาษรายงาน ลองโจทย์และขีดเส้นคั่นแต่ละข้อให้เรียบร้อย เขียนชื่อ-นามสกุล Section เลขที่ มุมขวาบน ติดแม็กส่งงานให้เรียบร้อย BC320 Introduction to Computer Programming