500 likes | 804 Views
ระบบจำนวน. โครงสร้างพื้นฐานที่ใช้แทนค่าข้อมูลและคำสั่งในหน่วยความจำของระบบคอมพิวเตอร์ คือ บิต ลอจิกต่ำ “0” ลอจิกสูง “1” หากนำจำนวนบิตข้อมูลมารวมกับ 8 บิต จะเรียกว่า ไบต์ สิ่งที่คอมพิวเตอร์เข้าใจคือการตีความจากค่าของบิตต่าง ๆ ซึ่งจะถูกมองเป็นเลขฐานสอง เช่น ตัวอักษร A
E N D
ระบบจำนวน โครงสร้างพื้นฐานที่ใช้แทนค่าข้อมูลและคำสั่งในหน่วยความจำของระบบคอมพิวเตอร์ คือ บิต ลอจิกต่ำ “0” ลอจิกสูง “1” หากนำจำนวนบิตข้อมูลมารวมกับ 8 บิต จะเรียกว่า ไบต์ สิ่งที่คอมพิวเตอร์เข้าใจคือการตีความจากค่าของบิตต่าง ๆ ซึ่งจะถูกมองเป็นเลขฐานสอง เช่น ตัวอักษร A คอมพิวเตอร์จะได้รับข้อมูล 8 บิต เป็นค่า 01000001 ระบบจำนวน
หมายเลขบิต 7 6 5 4 3 2 1 0 ข้อมูล 0 1 0 0 0 0 0 1 • 0 1 0 0 0 0 0 1 บิตต่ำ (Least Significant Bit : LSB) • บิตสูง (Most Significant Bit : MSB) ระบบจำนวน
ระบบเลขฐานสองและเลขฐานสิบ ระบบเลขฐานสองและเลขฐานสิบ เลขฐานสองจะมีการใช้ตัวเลข 0 และ 1 เท่านั้นในการแทนค่าข้อมูล เปรียบเทียบเลขฐานสองกับเลขฐานสิบ ตำแหน่งบิต 3 2 1 0 . -1 -2 -3 ค่าน้ำหนัก 23 22 21 20 . 2-1 2-2 2-3 ค่าข้อมูล 8 4 21 . 0.5 0.25 0.125 เช่น 1101 ฐานสอง สามารถแทนด้วยเลขฐานสิบเท่ากับ (1x 23)+(1x 22)+(0x 21)+(1x 20) = 8 + 4 + 0 + 1 = 13 ฐานสิบ Decimal Point LSD MSD ระบบจำนวน
ระบบเลขฐานแปด การบอกระบบตัวเลขที่กำลังพิจารณา เลขฐานสอง(binary) เขียนว่า 11012เลขฐานสิบ(decimal) เขียนว่า 1310 (Octal number system) สัญลักษณ์แทน 8 ตัวคือ 0,1,2,3,4,5,6,7 ค่าน้ำหนักในแต่ละหลัก • ระบบเลขฐานสิบหก ระบบเลขฐานสิบหกจะใช้ตัวอักษรแทน 16 ตัว คือ 0,1,2, 3,4,5,6,7,8,9,A,B,C,D,E และ F เลขฐานสิบหกหนึ่งหลัก สามารถแทนด้วยเลขฐานสอง 4 หลัก ระบบจำนวน
การแปลงเลขฐาน • การแปลงเลขฐานสอง ฐานแปด และสิบหกเป็นฐานสิบ • Ex1 จงแปลงเลขฐานสอง 1010012เป็นเลขฐานสิบ วิธีทำ นำค่าแต่ละบิตคูณกับค่าน้ำหนักของแต่ละบิต จะได้ 101001 = 1x25 + 0x24 + 1x23 + 0x22 + 0x21+ 1x20 = 32 + 0 +8 + 0 + 0 + 1 = 41 ดังนั้น 1010012 = 4110 ระบบจำนวน
Ex2 จงแปลงเลขฐานแปด 617328เป็นเลขฐานสิบ วิธีทำ นำค่าแต่ละบิตคูณกับค่าน้ำหนักของแต่ละบิต จะได้ 61732 = 6x84 + 1x83 + 7x82 + 3x81+ 2x80 = 6x4096 + 1x512 + 7x64 + 3x8 + 2 = 24576 + 512 + 448 + 24 + 2 = 25562 ดังนั้น 617328 = 2556210 ระบบจำนวน
Ex3 จงแปลงเลขฐานสิบหก C14A16เป็นเลขฐานสิบ วิธีทำ นำค่าแต่ละบิตคูณกับค่าน้ำหนักของแต่ละบิต จะได้ C14A16 = 12x163 + 1x162 + 4x161+ 10x160 = 12x4096 + 1x256 + 4x16 + 10 = 49482 ดังนั้น C14A16 = 4948210 ระบบจำนวน
ค่ากำลังสองสอง • n 2n ค่าน้ำหนักของ เลขฐานสอง • 13 8192 8K • 14 16,384 16K • 15 32,768 32K • 16 65,536 64K • 17 131,072 128K • 18 262,144 256K • 19 524,288 512K • 20 1,048,576 1024K(1M) • 21 2,097,152 2048K(2M) • 4,194,304 4096K(4M) • 8,388,608 8192K(8M) • 24 16,777,216 16,384(16M) n 2nค่าน้ำหนักของเลขฐานสอง 0 1 ….. 1 2 ….. 2 4 ….. 3 8 ….. 4 16 ….. 5 32 ….. 6 64 ….. 7 128 ….. 8 256 ….. 9 512 ….. 10 1024 1K 11 2048 2K 12 4096 4K ระบบจำนวน
การแปลงเลขฐานสิบเป็นเลขฐานสอง ฐานแปด และ เลขฐานสิบหก • วิธีการหาเศษ (Remainder Method) วิธีการ โดยใช้การหารตัวเลขที่ต้องการจะแปลงด้วยเลขฐานที่ ต้องการจะแปลงไป แล้วเก็บเศษที่เหลือไว้ในการหารแต่ละครั้ง และ จะต้องทำการหารจนได้ผลหารสุดท้ายเป็น 0 ระบบจำนวน
Ex4. จงแปลงเลขฐานสิบ 4910เป็นเลขฐานสอง 49/2 = 24 เศษ 1 (บิตต่ำสุด) 24/2 = 12 เศษ 0 12/2 = 6 เศษ 0 6/2 = 3 เศษ 0 3/2 = 1 เศษ 1 ½ = 0 เศษ 1(บิตสูงสุด) นำเศษที่ได้มาเขียนเป็นเลขฐานสอง จะได้เป็น 1 1 0 0 0 1 ระบบจำนวน
Ex5. จงแปลงเลขฐานสิบ 695410เป็นเลขฐานแปด = ? Ex6. จงแปลงเลขฐานสิบ 482310เป็นเลขฐานสิบหก = ? ระบบจำนวน
การแปลงเลขฐานแปด และเลขฐานสิบหก เป็นเลขฐานสอง • เลขฐานแปดหนึ่งหลักสามารถแทนได้ด้วยเลขฐานสองจำนวน 3 บิต นำเลขฐานสองที่แทนเลขฐานแปดในแต่ละหลักทั้งหมดมาต่อกัน เลขฐานแปด เลขฐานสอง เลขฐานแปด เลขฐานสอง 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 ระบบจำนวน
Ex6. จงแปลงเลขฐานแปด 4728เป็นเลขฐานสอง • 4 7 2 • 100111 010 • ดังนั้น 4728 สามารถเขียนเป็นเลขฐานสองได้เป็น 1001110102 • แบ่งเลขฐานสิบหกออกมาทีละตัว และแตกออกทีละตัวให้เป็นเลข ฐานสอง 4 บิต โดยดูค่าจากตารางการแปลงเลขฐาน แล้วนำมาเรียง ต่อกัน • Ex7. จงแปลงเลขฐานสิบหก A046B16เป็นเลขฐานสอง • ฐานสิบหก A 0 4 6 B • ฐานสอง 1010 0000 0100 0110 1011 ระบบจำนวน
การแปลงเลขฐานสอง เป็นฐานแปด และเลขฐานสิบหก • แปลงเลขฐานสองเป็นเลขฐานแปด จะต้องจัดกลุ่ม โดยแตกเลข ฐานสองออกทีละ 3 บิต เท่ากับเลขฐานแปด 1 ตัว ถ้าไม่สามารถจัดกลุ่ม 3 บิตได้ ให้เติมศูนย์ที่บิตสูงสุด Ex8. จงแปลงเลขฐานสอง 0111011112เป็นเลขฐานแปด ฐานสอง 011 101 111 ฐานแปด 3 5 7 ระบบจำนวน
แปลงเลขฐานสองเป็นเลขฐานสิบหก จะต้องจัดกลุ่มโดยแตกเลข ฐานสองออกทีละ 4 บิต เท่ากับเลขฐานสิบหก 1 ตัว ถ้าไม่สามารถจัดกลุ่ม 4 บิตได้ ให้เติมศูนย์ที่บิตสูงสุด Ex9. จงแปลงเลขฐานสอง 111011112เป็นเลขฐานสิบหก = ? ระบบจำนวน
การแปลงระบบตัวเลขที่เป็นทศนิยมการแปลงระบบตัวเลขที่เป็นทศนิยม • การแปลงเลขทศนิยมฐานสิบเป็นฐานสอง ฐานแปด และฐานสิบหก ใช้วิธีการคูณในการแปลง โดยทำการคูณเลขทศนิยมฐานสิบนั้น ด้วยตัวเลข 2,8 หรือ 16 เมื่อต้องการแปลงเป็นฐานสอง แปด หรือ สิบหกตามลำดับ และทุกครั้งที่ทำการคูณหากได้ผลคูณในหลัก ซ้ายสุด (ที่ติดกับจุดทศนิยม)เป็นตัวเลขที่มากกว่าหรือเท่ากับ 10 ให้เขียนตัวเลขที่ต้องทดไว้ข้างหน้าจุดทศนิยมทางซ้ายสุด และ ในการคูณครั้งต่อไปไม่ต้องคูณตัวเลขที่ทดไว้นี้ ให้คูณเฉพาะ ระบบจำนวน
ตัวเลขทศนิยมเท่านั้น แต่ถ้าครั้งใดแล้วได้ผลคูณไม่เกิน 10 ก็ให้เขียนเลข 0 ไว้ข้างหน้าจุดทศนิยมแทน ทำการคูณในลักษณะดังกล่าวไปเรื่อย ๆ จนกระทั่วได้ผลลัพธ์การคูณที่เป็นจำนวนทศนิยมเป็น 0 ซึ่งหมายความว่าการคูณเสร็จสิ้นแล้ว ผลของการแปลงที่แปลงเป็นเลขฐานใด ๆ ให้อ่านผลลัพธ์ที่เป็นตัวเลขที่ทด จากบนลงล่าง แล้วนำมาเขียนเป็นผลลัพธ์ ระบบจำนวน
X Ex10. จงแปลงเลขฐานสิบ .37510เป็นเลขฐานสอง .375 2 0 .750 2 1 .500 2 1 .000 ดังนั้นผลลัพธ์ที่ได้จากการแปลงคือ .37510 = .0112 X X ระบบจำนวน
Ex11. จงแปลงเลขฐานสิบ เป็นเลขฐานแปด = ? Ex12. จงแปลงเลขฐานสิบ เป็นเลขฐานสิบหก = ? • การแปลงเลขทศนิยมฐานสอง ฐานแปด และฐานสิบหกเป็นฐานสิบ จะใช้หลักการเดียวกับจำนวนเต็ม คือ คูณเลขฐานด้วยค่าหลักเลขฐานสอง ฐานแปด หรือฐานสิบหก ตามตำแหน่งต่าง ๆ แล้วบวกผลคูณเหล่านั้น ระบบจำนวน
Ex13. จงแปลงเลขฐานสอง .0010011002เป็นเลขฐานสิบ = ? Ex14. จงแปลงเลขฐานแปด .11428 เป็นเลขฐานสิบ = ? Ex15. จงแปลงเลขฐานสิบหก .C3A8 เป็นเลขฐานสิบ = ? ระบบจำนวน
การแปลงเลขทศนิยมฐานแปดเป็นเลขฐานสองการแปลงเลขทศนิยมฐานแปดเป็นเลขฐานสอง จะใช้หลักเกณท์เดียวกันกับการแปลงเลขจำนวนเต็มฐานแปดเป็นฐานสอง คือ จะต้องจัดกลุ่ม โดยแตกเลขฐานสองออกทีละ 3 บิต เท่ากับเลขฐานแปด 1 ตัว แล้วนำมาเขียนเรียงต่อกันและใส่จุดทศนิยมข้างหน้าผลลัพธ์นั้น Ex16. จงแปลงเลขฐานสอง .11428เป็นเลขฐานสอง = ? ระบบจำนวน
การแปลงเลขทศนิยมฐานสองเป็นเลขฐานแปดการแปลงเลขทศนิยมฐานสองเป็นเลขฐานแปด จะใช้หลักการเดียวกันกับการแปลงเลขจำนวนเต็มฐานสองเป็นและถ้ากลุ่ม ใดมีตัวเลขไม่ครบ 3 ให้เติม 0 เข้าไปที่ด้านขวา (สำหรับตัวเลขจุดทศนิยมแล้ว ตัวเลข 0 ที่อยู่ด้านขวาสุดของจุดทศนิยมจะไม่มีความหมายใด ๆ ) Ex18. จงแปลงเลขฐานสอง .10101010012เป็นเลขฐานแปด = ? ระบบจำนวน
การคำนวณในระบบเลขฐาน • การบวกเลขฐานสอง ฐานแปดและฐานสิบหก วิธีการคำนวณในระบบเลขฐานมีวิธีการง่าย 2 วิธี 1. แปลงเลขฐานต่าง ๆ ให้เป็นฐานสิบก่อน แล้วทำการบวกกันแบบเลขฐานสิบ เมื่อได้ผลลัพธ์แล้ว ก็แปลงผลลัพธ์นั้นให้เป็นเลขฐานที่ต้องการอีกที 2. ใช้วิธีการบวกจากเลขฐานโดยตรง ระบบจำนวน
การบวกเลขฐานสอง โดยตรง หลักการคล้ายกับการบวกเลขฐานสิบ เนื่องจากเรามีความ คุ้ยเคยกับเลขฐานสิบ การบวกเลขฐานสอง นั้นง่ายกว่าการบวกเลขฐานสิบ เพราะ มีเพียง 4 กรณีเท่านั้นที่ต้องจำคือ 0 + 0 = 0 1 + 0 = 1 1 + 1 = 10 = ใส่ 0 ทด 1 เข้าไปรวมกับบิตถัดไป 1 + 1 + 1 = 11 = ใส่ 1 ทด 1 เข้าไปรวมกับบิตถัดไป ระบบจำนวน
จงบวกเลขฐานสองต่อไปนี้จงบวกเลขฐานสองต่อไปนี้ (1) 0112 + 1102 (2) 11.011 + 10.110 วิธีทำ (1) 0 1 1 (3) (2) 1 1 . 0 1 1 (3.375) + 1 1 0 (6) + 1 0 . 1 1 0 (2.750) 1 0 0 1 (9) 1 1 0 . 0 0 1 (6.125) Ex19.จงบวกเลขฐานต่อไปนี้ (1) 77688 + 76728 (2) FBF316 + 492316 ระบบจำนวน
การลบเลขฐานสอง ฐานแปดและฐานสิบหก จะใช้หลักการเดียวกันกับการลบในเลขฐานสิบ ในบางกรณีต้องมีการยืมจากบิตที่มีน้ำหนักมากกว่า ค่าที่ยืมมาจะเท่ากับค่าของหลัก Ex20.จงลบเลขฐานต่อไปนี้ (1) 77688 + 76728 (2) FBF316 + 492316 ระบบจำนวน
แบบฝึกหัด ทำแบบฝึกหัดตั้งแต่ ex1-ex20 Ex1-Ex4. ทำการแปลงเลขฐานกลับคืนเป็นเลขฐานเดิม Ex5 ถึง Ex20. ระบบจำนวน