590 likes | 1.04k Views
ระบบเลขฐาน. ระบบเลขฐาน 10. คือ ระบบเลขจำนวนที่เราใช้อยู่ทั่วไป ตัวเลขที่ใช้ในระบบนี้มี 10 ตัว ตั้งแต่ 0 ถึง 9 โดยตัวเลขแต่ละตัวจะมีค่าประจำตัว โดยค่าน้อยที่สุดคือ 0. ตัวอย่างที่ 1. 45678 เป็นตัวเลขในฐาน 10 สามารถกระจายได้ดังนี้ 45678 = 40000+5000+600+70+8
E N D
ระบบเลขฐาน 10 คือ ระบบเลขจำนวนที่เราใช้อยู่ทั่วไป ตัวเลขที่ใช้ในระบบนี้มี 10 ตัว ตั้งแต่ 0 ถึง 9 โดยตัวเลขแต่ละตัวจะมีค่าประจำตัว โดยค่าน้อยที่สุดคือ 0
ตัวอย่างที่ 1 45678 เป็นตัวเลขในฐาน 10 สามารถกระจายได้ดังนี้ 45678= 40000+5000+600+70+8 หรือ4 5 6 7 8 8 x 100 = 8 7 x 101 = 70 6 x 102 = 600 5 x 103 = 5000 4 x 104 = 40000 45678
ตัวอย่างที่ 2 123.45 เป็นตัวเลขในฐาน 10 สามารถกระจายได้ดังนี้ 123.45 = 100+20+3+.4+.05 หรือ1 2 3 . 4 5 5 x 10 -2 = .05 4 x 10 -1 = .4 3 x 10 0 = 3 2 x 10 1 = 20 1 x 10 2 = 100 123.45
ระบบเลขฐาน 2 ตัวเลขที่ใช้ในระบบนี้มีเพียง 2 ตัว 0 และ 1 เท่านั้น
ตัวอย่างที่ 1 1101012= 1x25+ 1x24+ 0x23+ 1x22 + 0x21+ 1x20 = 32 + 16 + 0 + 4 + 0 + 1 = 53 หรือ 1 1 0 1 0 12 1 x 2 0 = 1 0 x 2 1 = 0 1 x 2 2 = 4 0 x 2 3 = 0 1 x 2 4 = 16 1 x 2 5 = 32 53
ตัวอย่างที่ 2 10.0112 10.0112= 1x21 + 0x20 + 0x2-1 + 1x2-2 + 1x2-3 = 2 +0 + 0 +1/4 + 1/8 = 2 + 0 +0 + 0.25 + 0.125 = 2.375
ระบบเลขฐาน 8 ตัวเลขที่ใช้ในระบบนี้มี 8 ตัวคือ ตั้งแต่ 0 ถึง 7 ตัวอย่างที่ 1 21738= 2x83 + 1x82 + 7x81 + 3x80 = 1024 + 64 + 56 +3 = 1147
ตัวอย่างที่ 2 65.018= 6x81 + 5x80 + 0x8-1 + 1x8-2 = 48 + 5 + 0 + 1/64 = 48 + 5 + 0 + .015625 = 53.015625
ระบบเลขฐาน 16 ตัวเลขที่ใช้ในระบบนี้มีทั้งหมด 16 ตัว คือตัวเลขและตัวอักษรปนกัน คือ 0 ถึง 9 และ 10 ถึง 15 ใช้แทนด้วยตัวอักษรคือ A = 10 B = 11 C = 12 D = 13 E = 14 F = 15
ตัวอย่างที่ 1 13DF16 = 1x163 + 3x162 + 13x161 + 15x160 = 4096 + 768 + 208 + 15 = 5087
ตัวอย่างที่ 2 7.2A16 = 7x160 + 2x16-1 + 10x16-2 = 7 + 2/16 + 10/162 = 7 + 0.125 + 0.390625 = 7.1640625
การเปลี่ยนเลขจากฐานต่าง ๆ เป็นฐาน 10 โจทย์ จงเปลี่ยน 1010112เป็นเลขฐาน 10 1 0 1 0 1 12 32 0 8 0 2 1 = 32 + 8 + 2 + 1 = 43
หรือ 1010112 = 1x25 + 0x24 +1x23 + 0x22 +1x21 + 1x20 = 32 + 0 + 8 + 0 + 2 + 1 = 43
โจทย์ จงเปลี่ยน 345.678เป็นเลขฐาน 10 345.678 = 3x82 + 4x81 + 5x80 + 6x8-1 + 7x8-2 = 576 + 32 + 5 + 0.75 +0.765625 = 614.515625
โจทย์ จงเปลี่ยน 1A5.F16 เป็นเลขฐาน 10 1A5.1516 = 1x162 + 10x161+ 5x160 + 15x16-1
การเปลี่ยนเลขฐาน 10 เป็นเลขฐานต่าง ๆ จงเปลี่ยน 24610เป็นเลขฐาน 2 • 246 • 2 123 0 • 2 61 1 • 2 30 1 • 2 15 0 • 2 7 1 • 2 3 1 • 1 1
จงเปลี่ยน 456710เป็นเลขฐาน 8 • 4567 • 8 570 • 8 71 • 8 8 • 1 7 2 7 0 4567 10 = 107278
จงเปลี่ยน 5678910เป็นเลขฐาน 16 • 56789 • 16 3549 5 • 16 221 13 • 1313 • 5678910 = DDD516
การแปลงเลขฐาน 2 เป็นเลขฐาน 8 , 16 • ถ้าแปลงเป็นเลขฐาน 8 ให้แบ่งข้อมูลเป็นชุด ชุดละ 3 bit ถ้าไม่ครบให้เพิ่ม 0 เข้าไป เช่น 10011.012 010 011 010 = 23.28 • ถ้าแปลงเป็นเลขฐาน 16 ให้แบ่งข้อมูลเป็นชุด ชุดละ 4bit ถ้าไม่ครบให้เพิ่ม 0 เข้าไป เช่น 10011.012 0001 0011 0100 = 13.416
การแปลงเลขฐาน 8,16 เป็นเลขฐาน 2 • ถ้าเป็นเลขฐาน 8 ให้แทนเลขแต่ละตัวด้วยฐาน 2 จำนวน 3 bit เช่น 23.28 010 011 010 =10011.012 • ถ้าเป็นเลขฐาน 16 ให้แทนเลขแต่ละตัวด้วยฐาน 2 จำนวน 4bit เช่น 13.416 0001 0011 0100 = 10011.012 • สำหรับการแปลงจากฐาน 8 เป็น ฐาน 16 หรือจากฐาน 16ให้เป็นฐาน 8 ให้ทำการแปลงเป็นฐาน 2 ก่อน แล้วจึงแปลงจากฐาน 2 เป็นฐานที่ต้องการ เช่น 25.28 = 010 101. 010 = 01 0101.0100 = 15.4 16
แบบฝึกหัด 1. จงหาค่าของจำนวนต่อไปนี้ ออกมาเป็นจำนวนเลขในฐาน 10 1.11011012 1.2 EF16 1.3 1678 1.4 124.68 1.5 5AA.F16
2. จงเปลี่ยนเลขฐาน 10 ให้เป็นเลขฐาน 2,8 และ 16 2.1 421 2.2 1234 2.3 72431 3. จงเปลี่ยนเลขฐาน เหล่านี้ ให้เป็นเลขฐาน 2 3.1 3478 3.2 12758 3.3 7AA116 3.4 EFB716
4. จงเปลี่ยนเลขฐาน 2 ให้เป็นเลขฐาน 8 และ 16 4.1 11101101.1112 4.2 1011111110.100112 4.3 11110001111.110012
การบวกลบเลขฐาน การบวก (Addition) วิธีทำ 1. บวกเลขตั้งแต่ 2 จำนวนขึ้นไปตั้งหลักให้ตรงกันจากขวามาซ้าย ผลบวกที่ได้ใส่ให้ตรงหลัก 2. ถ้าผลบวกได้น้อยกว่าฐานของเลขนั้นใส่ได้เลย 3. ถ้าผลบวกได้เท่ากับหรือมากกว่าฐาน จะต้องเอาค่าฐานมาหักออกเสียก่อน เพื่อเป็นตัวทดของหลักถัดไป และค่าที่ใส่ในหลักนั้น คือผลต่างที่หักฐานออกแล้ว ซึ่งจะต้องน้อยกว่าค่าฐาน
กฏการบวกเลขฐาน สอง • โดยมีหลักการบวกดังนี้0 +0 = 0 • 1 + 0 = 1 • 0 + 1 = 1 • 1 + 1 = 10(ทด1)
ตัวอย่าง จงหาผลลัพธ์ (110)2 + ( 101 ) 2 1 1 0 1 0 1 + 211 (1 0 1 1)2
ตัวอย่าง จงหาผลลัพธ์ ( 1011 )2 + ( 1001 ) 2 1 0 1 1 1 0 0 1 + 202 2 (1 0 1 0 0 ) 2
ตัวอย่าง จงหาผลลัพธ์ ( 4711 )8 + ( 26534 )8 4711 26534 + (33445)8
ตัวอย่าง จงหาผลลัพธ์ ( 29EA5 )16 + ( 4CDE )16 2 9 E A 5 4 C D E + 14272419 (2 E B 8 3 )16 10=A 11=B 12=C 13=D 14=E 15=F
ตัวอย่าง จงหาผลลัพธ์ (ABDF.59 )16 + (8CD.AF) 16 A B D F . 5 9 8 C D . A F+ ( B 4 A D . 0 8 ) 16 10=A 11=B 12=C 13=D 14=E 15=F
การลบเลขฐาน (Subtraction) วิธีทำ 1. ลบเลขตั้งแต่ 2 จำนวนขึ้นไปตั้งหลักตัวตั้งและตัวลบให้ตรงกัน และลบทีละหลัก 2. ถ้าตัวตั้งมีค่ามากกว่าตัวลบลบได้เลยใส่คำตอบซึ่งเป็นผลต่างให้ตรงกับหลัก 3. ถ้าตัวตั้งมีค่าน้อยกว่าตัวลบ ลบเลยทันทีไม่ได้จะต้องขอยืมหลักถัดไปมา 1 ทำให้หลักที่ถูกยืมมีค่าลดลง 1 และทำให้หลักที่ไปยืมมามีค่าเท่าค่าของฐานบวกกับเลขที่มีอยู่เดิม และทำการลบโดยปกติ
กฎการลบเลขฐานสอง • 0– 0 = 0 • 0 – 1 = 1(ยืมหลักที่สูงกว่า1) • 1 –0 = 1 • 1 – 1 = 0 ตัวอย่างการลบเลขฐาน 02 110 101- 001
ตัวอย่าง จงหาผลลัพธ์ ( 11010 )2 - ( 1011) 2 11 0 1 0 1 0 1 1 - 1 1 1 1 = (1111 ) 2
ตัวอย่าง จงหาผลลัพธ์ ( 1352 )8 - ( 643 ) 8 1 3 5 2 6 3 4 - (5 1 6 ) 8
ตัวอย่าง จงหาผลลัพธ์ ( D 7 3 A E )16 - ( 8 4 C B ) 16 D 7 3 A E 8 4 C B - (C E E E 3 ) 16
ตัวอย่าง จงหาผลลัพธ์ (F 5 6 A B . F 6 )16 - (8 7 A B .5 A) 16 F 5 6 A B . F 6 8 7 A B . 5 A - ( E C F00 . 9 C) 16
คอมพลีเมนต์ (Complement) • ระบบเลขที่ใช้กันใน Computer จะเป็นเลข Binary ดังนั้นหากต้องการบวกและลบเลขจึงจำเป็นต้องมีทั้งวงจรบวกเลขและลบเลข จึงทำให้เกิดความยุ่งยากมาก อีกทั้งหากผลลัพธ์เกิดค่าที่ติดลบจะเกิดปัญหาว่าจะแสดงเครื่องหมายอย่างไร • ดังนั้น ในระบบ Computer จะมีการนำ Complement มาใช้ในการลบเลขแต่จะใช้วิธีการบวกกับ Complement ของตัวลบ ซึ่งจะได้ผลลบ และหากผลลัพธ์เกิดมีค่าติดลบ ก็จะแสดงค่าผลลัพธ์เป็นเลข Complement
การคอมพลีเมนต์เลขฐานสองการคอมพลีเมนต์เลขฐานสอง ในระบบเลข Binary จะมี Complement อยู่ 2 อย่าง คือ • 1’s complementคือการกลับสถานะของสัญญาณ จาก 0 เป็น 1 และจาก 1 เป็น 0 ทุก ๆ บิต เช่น 1’s complement ของ 1100011 คือ 0011100 • 2’s complementคือผลบวกของ 1’s complement กับ 1 เช่น 2’s complement ของ 1100011 คือ 0011100 + 1 = 0011101 ซึ่งมีวิธีคิดแบบลัดคือ ให้มองจากบิตต่ำสุด(ขวาสุด) ไปยังบิตสูงสุด(ซ้ายสุด) หา 1 ตัวแรกให้พบ หากยังไม่พบ ให้คงค่าเดิมเอาไว้ จนกระทั้งพบ 1 ตัวแรกก็ยังคง 1 ไว้ หลังจากนั้นให้เปลี่ยนค่าที่เหลือ จาก0 เป็น 1 และ จาก 1 เป็น 0 ทั้งหมด
การลบเลขโดยใช้คอมพลีเมนต์ฐานการลบเลขโดยใช้คอมพลีเมนต์ฐาน • จากประโยชน์ของเลขคอมพลีเมนต์ที่ใช้ในการหาผลลบของระบบเลขโดยใช้การบวกและสามารถแสดงค่าที่ติดลบได้นั้น ทำให้ในระบบ computer นิยมนำ complement ใช้ในการลบเลข ซึ่งหากใช้คอมพลีเมนต์ฐานในการลบเลขมีวิธีการคิดดังนี้ • หาคอมพลีเมนต์ฐานของตัวลบ ถ้าตัวลบมีจำนวนหลักน้อยกว่าตัวตั้ง ก็ต้องทำจำนวนหลักของตัวลบให้มีจำนวนหลักเท่ากับตัวตั้งก่อนแล้วจึงหาค่อยคอมพลีเมนต์ฐาน • นำตัวตั้งมาบวกกับคอมพลีเมนต์ฐานของตัวลบที่หาได้จากข้อ 1) • ตรวจสอบผลลัพธ์ที่ได้จากการบวกในข้อ 2) ว่ามีตัวทดสุดท้าย (End around carry)หรือไม่ • ถ้ามี End around carry ให้ตัดทิ้ง ที่เหลือจะได้ค่าผลลัพธ์ที่ได้จากการลบ โดยมีค่าเป็นบวก • ถ้าไม่มี End around carry ก็ให้หาคอมพลีเมนต์ฐานของผลลัพธ์ที่ได้ ซึ่งจะได้ผลลัพธ์ที่ได้จาการลบตามต้องการ แต่มีค่าเป็นลบ
การลบเลขโดยใช้คอมพลีเมนต์ฐานการลบเลขโดยใช้คอมพลีเมนต์ฐาน • ตัวอย่างจงลบเลขฐานสองต่อไปนี้ โดยใช้ 2’s complement • 1100 – 1011 • วิธีทำลบแบบธรรมดาลบโดยใช้ 2’s complement • 1100 1100 • - 1011+ 0101 2’s complement 0001 1 0001 มี End around carry ให้ตัดทิ้ง ผลลบ คือ 0001
การลบเลขโดยใช้คอมพลีเมนต์ฐานการลบเลขโดยใช้คอมพลีเมนต์ฐาน ตัวอย่างจงลบเลขฐานสองต่อไปนี้ โดยใช้ 2’s complement 10011 – 11100 วิธีทำลบแบบธรรมดาลบโดยใช้ 2’s complement 10011 10011 - 11100+ 00100 2’s Complement - 01001 10111 ไม่มี End around carry ผลลบ คือ –( 2’s complement ของ 10111) = -01001
รหัสแทนข้อมูล (Data Representation) รหัสข้อมูล คือ รหัสที่ใช้แทนตัวเลข ตัวอักษร หรือสัญลักษณ์ต่าง ๆ ที่มีอยู่ในโปรแกรมหรือไฟล์ข้อมูลเมื่อมีการประมวลผลด้วยเครื่องคอมพิวเตอร์
รหัสที่ใช้แทนข้อมูลมีอยู่ด้วยกันหลายแบบ ที่นิยมได้แก่ • รหัสเอ็บซีดิค (EBCDIC : Extended Binary Coded Decimal Interchange Code) • รหัสแอสกี้ (ASCII : American Standard Code for Information Interchange) • รหัส Unicode
รหัสแอสกี้ • เป็นมาตรฐานที่นิยมใช้กันมากในระบบคอมพิวเตอร์และระบบสื่อสารข้อมูล • รหัสแทนข้อมูลชนิดนี้ใช้เลขฐานสองจำนวน 8 บิตหรือเท่ากับ 1 ไบต์แทนอักขระหรือสัญลักษณ์แต่ละตัว ซึ่ง หมายความว่าการแทนอักขระแต่ละตัวจะประกอบด้วยตัวเลขฐานสอง 8 บิตเรียงกัน
รหัสเอ็บซีดิค • พัฒนาโดยบริษัทไอบีเอ็ม รหัสแทนข้อมูลนี้ไม่เป็นที่นิยมใช้แล้วในปัจจุบัน • การกำหนดรหัสจะใช้ 8 บิต ต่อหนึ่งอักขระ เหมือนกับรหัสแอสกี แต่แบบของรหัสที่กำหนดจะแตกต่างกัน