300 likes | 483 Views
โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้. ระบบเลขฐาน (Radix Number). ผศ.บุรินทร์ รุจจนพันธุ์ . ปรับปรุง 13 พฤศจิกายน 2555. มหาวิทยาลัยเนชั่น จังหวัดลำปาง http://www. nation.ac.th. ความหมาย. ระบบเลขฐาน (Radix Number)
E N D
โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ ระบบเลขฐาน (Radix Number) ผศ.บุรินทร์ รุจจนพันธุ์ . ปรับปรุง 13 พฤศจิกายน 2555 มหาวิทยาลัยเนชั่น จังหวัดลำปาง http://www.nation.ac.th
ความหมาย ระบบเลขฐาน (Radix Number) คือ ระบบตัวเลขที่ใช้เป็นหน่วยนับสิ่งต่าง ๆ รอบตัวเรา และต้องกำหนดเลขฐานกำกับ ปัจจุบันเลขที่เราใช้กันอยู่เป็น เลขฐาน 10 ซึ่งเป็นฐานที่ถูกยกเว้นไม่ต้องเขียนเลขฐานกำกับ แต่ถ้าเป็นฐานอื่นเช่น ฐาน 2 ฐาน 8 หรือ ฐาน 16 จะมีให้มีเลขฐานกำกับไว้เสมอ สำหรับเลขตั้งแต่ 10 เป็นต้นไป จะใช้ตัวอักษรภาษาอังกฤษสื่อความหมายแทน ได้แก่ A=10 B=11 C=12 D=13 E=14 F=15 G=16 H=17 เช่น 10012 178 AB9F16 แปลงเลขฐาน http://www.dlth.in.th/base-converter-tools.html ข้อมูลจาก http://th.wikipedia.org/wiki/Radix_Number
เลขฐาน 10 ระบบเลขฐาน 10 (Decimal Number System) เลขฐาน 10 (Decimal Digit) คือ เลขฐานที่ประกอบด้วยเลข 10 ตัว ได้แก่ 0 ถึง 9 เป็นเลขฐานที่ในชีวิตประจำวันจนเป็นความเคยชิน จึงไม่จำเป็นต้องเข้าใจในความหมาย หรือที่มาของตัวเลขเหล่านั้น เพราะไม่ต้องเปรียบเทียบฐานนี้กับฐานใด เมื่อนำไปใช้ในชีวิตประจำวัน เช่น 5 23 123 ข้อมูลจาก http://th.wikipedia.org/wiki/Radix_Number
เลขฐาน 2 ระบบเลขฐาน 2 (Binary Number System) เลขฐาน 2 (Binary Digit) คือ เลขฐานที่ประกอบด้วยเลข 2 ตัว ได้แก่ 0 กับ 1 เป็นเลขฐานที่คอมพิวเตอร์เข้าใจได้ง่าย เหมือนสถานะทางไฟฟ้าคือ ปิด กับ เปิด ดังนั้นคอมพิวเตอร์จึงเก็บข้อมูลเป็นกลุ่มของเลขฐานสองหลายบิต (Bit = Binary Digit) รวมกันเพื่อแทนความหมายของข้อมูล แทนการใช้เลขฐาน 10 เช่น 12 1012 01102 ข้อมูลจาก http://th.wikipedia.org/wiki/Radix_Number
เลขฐาน 16 ระบบเลขฐาน 16 (Hexadecimal Number System) เลขฐาน 16 (Hexadecimal Digit) คือ เลขฐานที่ประกอบด้วยเลข 16 ตัว ได้แก่ 0 ถึง 15 แต่เลข 10 ถึง 15 จะใช้ตัวอักษร A ถึง F แทน ความสำคัญของเลขฐานนี้ในคอมพิวเตอร์คือใช้นำเสนอข้อมูลแทนเลขฐาน 2 จำนวน 4 Bit ดังนั้นการแสดงข้อมูลจำนวน 8 Bit ซึ่งเท่ากับ 1 Byte จะใช้เลขฐาน 16 จำนวน 2 หลัก เช่น การแสดงข้อมูลในโปรแกรม Debug เป็นต้น เช่น 4116 3016 A116 ข้อมูลจาก http://th.wikipedia.org/wiki/Radix_Number
แปลงเลขฐาน 10 เป็น เลขฐาน 10 100 = 1 101 = 10 102 = 100 5 = (5 * 100)=5 23 = (2 * 101)+(3 * 100) = 20+3 123 = (1 * 102)+(2 * 101)+(3 * 100) = 100+20+3 ข้อมูลจาก http://th.wikipedia.org/wiki/Radix_Number
แปลงเลขฐาน 2 เป็น เลขฐาน 10 20 = 1 21 = 2 22 = 4 23 = 8 12 = (1 * 20)=1 1012 = (1 * 22)+(0 * 21)+(1 * 20) = 4+0+1 = 5 01102 = (0*23)+(1*22)+(1*21)+(0*20) = 0+4+2+0 = 6 ข้อมูลจาก http://th.wikipedia.org/wiki/Radix_Number
แปลงเลขฐาน 16 เป็น เลขฐาน 10 160 = 1 161 = 16 162 = 256 163 = 4096 4116 = (4 * 161)+(1 * 160) = 64+1 = 65 3016 = (3 * 161)+(0 * 160) = 48+0 = 48 A116 = (10 * 161)+(1 * 160) = 160+1 = 161 ข้อมูลจาก http://th.wikipedia.org/wiki/Radix_Number
แปลงเลขฐาน 10 เป็น เลขฐาน 10 12310 = ?10 10 )1233 10 )122 1 12310 = 12310
แปลงเลขฐาน 10 เป็น เลขฐาน 2 6 = ?2 2 )60 2 )31 1 6 = 1102
แปลงเลขฐาน 10 เป็น เลขฐาน 16 1601 = ?16 16 )16011 16 )1004 6 1601 = 64116
ตัวอย่างการแปลงระหว่างเลขฐานตัวอย่างการแปลงระหว่างเลขฐาน เลขฐาน 2 เลขฐาน 8 เลขฐาน 10 เลขฐาน 16 0 0 0 0 1 1 1 1 10 2 2 2 11 3 3 3 100 4 4 4 101 5 5 5 110 6 6 6 111 7 7 7 1000 10 8 8 1001 11 9 9 1010 12 10 A 1011 13 11 B 1100 14 12 C 1101 15 13 D 1110 16 14 E 1111 17 15 F
การบวกเลขฐาน 2 1.102 + 12 = ? 102 + 12 -- 112 == 2.1012 + 1012 = ? 1012 + 1012 --- 10102 ==== 3.1012 + 12 = ? 1012 + 12 --- 1102 === 4.10112 + 11012 = ? 10112 + 11012 ---- 110002 =====
การบวกเลขฐาน 16 1.A116 + 1A16 = ? A116 + 1A16 -- BB16 == 2.AF16 + 1116 = ? AF16 + 1116 -- C016 == 3.1AF16 + AA16 = ? 1AF16 + AA16 --- 25916 === 4.9916 + 1A116 = ? 9916 + 1A116 --- 23A16 ===
การลบเลขฐาน 2 1.102 - 12 = ? 102 - 12 -- 12 == 2.1012 - 1012 = ? 1012 - 1012 --- 02 === 3.1012 - 12 = ? 1012 - 12 --- 1002 === 4.10102 - 1012 = ? 10102 - 1012 ---- 1012 =====
การลบเลขฐาน 16 1.A116 - 1A16 = ? A116 - 1A16 -- 8716 == 2.AF16 - 1116 = ? AF16 - 1116 -- 9E16 == 3.1AF16 - AA16 = ? 1AF16 - AA16 --- 10516 === 4.1A916 - 19116 = ? 1A916 - 19116 --- 1816 ===
องค์ประกอบที่ทำให้สมบูรณ์ (Complement)(1/3) A two's-complement system is a system in which negative numbers are represented by the two's complement of the absolute value;[1] this system is the most common method of representing signed integers on computers. In such a system, a number is negated (converted from positive to negative or vice versa) by computing its two's complement. ข้อมูลจาก http://www.cs.rit.edu/~afb/20012/cs1/slides/javatypes-03.html ข้อมูลจาก http://en.wikipedia.org/wiki/Two's_complement ข้อมูลจาก http://www.school.net.th/library/create-web/10000/generality/10000-6427.html
องค์ประกอบที่ทำให้สมบูรณ์ (Complement)(2/3) ในข้อมูลขนาด 1 Byte ซึ่งประกอบด้วย 8 Bit เมื่อต้องการเก็บทั้งค่าบวก และค่าลบ เรียกว่าเก็บแบบมี Sign Bit มักใช้แนวคิดของ Two’s Complement มาช่วยในการจัดเก็บ และกำหนดให้ 7 Bit แรกเก็บค่า แต่ Bit หน้าสุดจะเก็บเครื่องหมาย เช่น Two’s Complement ของ 0111 มีค่าเท่ากับ 7 Two’s Complement ของ 1111 มีค่าเท่ากับ -1 7 - 1= 6 หรือ 0111 - (1111) = 0111 - (0001) = 0110 = 6
องค์ประกอบที่ทำให้สมบูรณ์ (Complement)(3/3) ตัวอย่างการใช้ Two’s Complement โจทย์ 7 - 1 = 6 เป็นเลขฐาน 2 0111 - (1111) กลับบิท 0111 - (0001) แปลงกลับ 0110 = 6
แบบฝึกหัดที่ 1 แปลงเลขฐาน 1. 10112 = …… 2. 11002 = …… 3. 01112 = …… 4. 11112 = …… 5. 10102 = …… 6. 10012 = …… 7. 10114 = …… 8. 12114 = …… 9. 10314 = …… 10. 30214 = …… 11. 10214 = ……12. 30124 = …… 13. 20318 = …… 14. 51408 = …… 15. 67118 = …… 16. 11768 = …… 17. 15508 = …… 18. 10048 = …… 19. 121116 = …… 20. 327116 = …… 21. 623116 = …… 22. 333316 = …… 23. 132216 = ……24. 405116 = …… 25. AFFC16 = …… 26. ACFF 16 = …… 27. 6AF116= …… 28. 11A616 = …… 29. C5A016 = …… 30. 10A416 = …… 31. F8CA16 = …… 32. 32FA16 = …… 33. CAF116 = …… 34. 5AF516 = …… 35. CA2216 = ……36. ABFD16 = ……
แบบฝึกหัดที่ 2 บวกลบ 1. 10112 + 112 = ……………2 2. 11002 - 10102 = ……………2 3. 01112 + 0112 = ……………2 4. 11112 - 1112 = ……………2 5. 111116 + 111116 = ……………16 6. A1B116 - A11116 = ……………16 7. F1D116 - D1D116 = ……………16 8. 1F1D16 + 1FF116 = ……………16 9. 10112 + 11004 = ……………8 10. 11004 + 10108 = ……………2 11. 1114 - 01112 = ……………8 12. 1112 + 32108 = ……………4 13. 111116 - 12618 = ……………8 14. 71618 + 32114 = ……………16 15. F1D016 - 11012 = ……………16 16. 16578 + 1FF116 = ……………4
แบบฝึกหัดที่ 3 คูณหาร 1. 10112× 112 = ……………2 2. 10114× 114 = ……………4 3. 3458× 328 = ……………8 4. 561116×AA16 = ……………16 5. 111102% 102 = ……………2 6. 547328% 658 = ……………8 7. C3FA416% 1A16= ……………16 8. 664816%5A16= ……………16 9. 101.12× 112 = ……………2 10. 10.114× 214 = ……………4 11. 42.58× 428 = ……………8 12. 17.1116×AB16 = ……………16 13. 1010.02% 102 = ……………2 14. 104.578% 658 = ……………8 15. C3E.A16% 1A16= ……………16 16. 1199.A16%5A16= ……………16