1 / 23

ระบบเลขฐานและรหัส ( Number Systems and Codes )

ระบบเลขฐานและรหัส ( Number Systems and Codes ). อ . โสภาพรรณ สุวรรณสว่าง. Number Systems. ตัวเลขที่ใช้กันเป็นประจำในชีวิตประจำคือเลขฐานสิบ แต่ละหลักของเลขฐานสิบ จะมีค่าตั้งแต่ 0, 1, 2, 3, 4,…, 9 เท่านั้น. ตัวอย่างเช่น ( 257 ) 10 = 2  10 2 + 5  10 1 + 7  10 0.

Download Presentation

ระบบเลขฐานและรหัส ( Number Systems and Codes )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ระบบเลขฐานและรหัส(Number Systems and Codes) อ. โสภาพรรณ สุวรรณสว่าง

  2. Number Systems ตัวเลขที่ใช้กันเป็นประจำในชีวิตประจำคือเลขฐานสิบแต่ละหลักของเลขฐานสิบ จะมีค่าตั้งแต่ 0, 1, 2, 3, 4,…, 9 เท่านั้น ตัวอย่างเช่น (257)10 = 2102 + 5101 + 7100 ดังนั้น ถ้าเป็นเลขฐานใด ๆ สามารถเขียนเป็นรูปแบบทั่วไป( general form ) ได้ดังนี้ (an an-1 … a1a0)b = an bn+ an-1 bn-1+ … + a1 b1+ a0 b0 an หมายถึงตัวเลข ส.ป.ส. แต่ละหลักของเลขฐาน b หมายถึงเลขฐาน

  3. Number Systems เลขฐานสอง (Binary)เป็นกลุ่มตัวเลขที่แต่ละหลักมีค่า 0 หรือ 1 เท่านั้น เลขฐานแปด (Octal number)เป็นกลุ่มตัวเลขที่แต่ละหลักมีค่า 0 ถึง 7 เลขฐานสิบหก (Hexadecimal number)เป็นกลุ่มตัวเลขที่แต่ละหลักมีค่า 0, 1, …,9, A, B, C, D, E, F

  4. Number Systems 1. การแปลงเลขฐาน (Converting System Number) 1.1 การแปลงเลขฐานใด ๆ เป็นเลขฐานสิบ กรณี ที่เป็นจำนวนเต็ม (an an-1 … a1 a0)b = ( an bn + an-1 bn-1 + … + a1 b1 + a0)10 กรณี ที่มีจุดทศนิยม (0.a-1 a-2… a-n)b = ( a-1 b-1 + a-2 b-2+ … + a-n b-n )10 an หมายถึงตัวเลข ส.ป.ส. แต่ละหลักของเลขฐาน b หมายถึงเลขฐาน

  5. Number Systems 1. การแปลงเลขฐาน (Converting System Number) 1.1 การแปลงเลขฐานใด ๆ เป็นเลขฐานสิบ (11101.01)2, (310.623)8,(FEO. 3E)16 Example(11101.01)2=1 24+1  23+1 22+0 21+1 20 .0  2-1+ 1  2-2 =(29.25)10 Example (310.623)8 = 3 82 + 1 84 + 0 80. 68-1 + 28-2 + 38-3 = (200.7871)10 Example (FEO. 3E)16 = 15 162+ 14 161 + 0 160. 3 16-1+ 14  16-2 = (4064.2422)10

  6. Number Systems 1. การแปลงเลขฐาน (Converting System Number) 1.1 การแปลงเลขฐานสิบเป็นเลขฐานใด ๆ การแปลงเลขฐานสิบที่อยู่หน้าจุดทศนิยมให้เป็นเลขฐานใด ๆ ทำได้โดยใช้การตั้งหารและหาเศษ คำตอบที่ได้คือตัวเลขเศษที่นำมาต่อเรียงกันจากข้างล่างถึงข้างบนเรียงตามลำดับ สำหรับเลขฐานสิบที่อยู่หลังจุดทศนิยมจะต้องใช้วิธีการคูณ แล้วเก็บผลลัพธ์ในตำแหน่งที่เป็นจำนวนเต็มส่วนค่าหลังจุดทศนิยมที่เหลือ จะคูณด้วยเลขฐานนั้น ๆ ต่อไปจนกว่าผลคูณจะมีเฉพาะจำนวนเต็ม(เศษเป็น 0) หรือเพียงพอกับความต้องการ Exampleจงแปลงเลขฐาน (24.25)10 เป็นเลขฐานสอง, ฐานแปด, และฐานสิบหก

  7. Number Systems Example (24.25)10 (…)8 Solution Example (24.25)10 (…)16 Solution

  8. Number Systems 1. การแปลงเลขฐาน (Converting System Number) 1.2 การแปลงเลขฐานระหว่างเลขฐาน 2, 8 และ 16 จากการพิจารณาเลขฐานแปด 1 หลัก จะเท่ากับ เลขไบนารี 3 หลัก เลขฐานสิบหก 1หลัก จะเท่ากับ เลขไบนารี 4 หลัก ดังนั้นการแปลงจากเลขฐานสอง เป็นเลขฐานแปด หรือ เลขฐานสิบหก ให้ทำการแบ่งเลขฐาน 2 ทีละ 3 หลัก หรือ 4 หลัก โดยเลขฐานหน้าจุดจะแบ่งจากข้างหลังมาข้างหน้า เลขหลังจุดจะแบ่งจากหน้าไปหลัง แล้วจึงทำการแปลงเป็นเลขฐานแปดหรือเลขฐานสิบหก ตามลำดับ Example(11101100101.0110)2 (…)8 และ (…)16 011101100101 . 011000= (3545.30)8 3 5 4 5 .3 0 011101100101 . 0110= (765.6)16 7 6 5 . 6

  9. Number Systems Exercise1. จงแปลงเลขต่อไปนี้ให้เป็นฐานสิบ (a) (101.01)2 (b) (137.42)8 (c) (1F.8)16 2. จงแปลง (58.9375)10 ให้เป็นเลขฐานแปด 3. จงแปลง (87.46875)10 ให้เป็นเลขฐานสิบหก 4. จงแปลงเลขต่อไปนี้ให้เป็นฐานแปดและฐานสิบหก (a) (101110101.10111)2 (b) (11010110.110111)2 5. จงแปลง (524.61)8 ให้เป็นเลขฐานสิบหก 6. จงแปลง (6DA.5E)16 ให้เป็นเลขฐานแปด

  10. Codes ทำไมต้องมีรหัสตัวเลข ? การนำเลขฐานสองไปใช้งานจำเป็นต้องนำเลขฐานสองมารวมกัน สร้างขึ้นใน รูปของรหัส (Code) เพื่อความสะดวกในการใช้ติดต่อสื่อสารกับคอมพิวเตอร์ ในการเข้ารหัสและถอดรหัส คำจำกัดความของกลุ่มเลขฐานสองที่นำมารวมกัน มีชื่อเรียกดังต่อไปนี้

  11. Codes 1. รหัส BCD (Binary Code Decimal) เป็นการแทนเลขฐานสิบหนึ่งตัว ด้วยเลขไบนารี่ขนาด 4 บิตดังนั้นค่าของเลข BCD จะมีค่าตั้งแต่ 0000 ถึง 1001 เท่านั้น • การเปรียบเทียบระหว่าง BCD และ Binary • (137)10 = (10001001)2-------------------> binary • (137)10 = (0001 0011 0111)BCD-------------------> BCD ข้อสังเกต - จะเห็นว่า binary ใช้ขนาด 8 bit ส่วน BCD ใช้ 12 bit - จำนวนบิตเลขไบนารี่จะมีจำนวนน้อยกว่า BCD ทำให้เลขไบนารี่ ประหยัดหน่วยความจำกว่าเลข BCD - BCD สามารถแปลงเป็นเลขฐานสิบได้ง่าย

  12. Codes การเปรียบเทียบรหัสเลขฐานสองกับรหัส BCD 8421 แสดงดังตาราง

  13. Codes 2. รหัส เกิน 3 (Excess - 3 Code) เป็นรหัสที่คล้ายกับ BCD แต่ค่าของ Excess–3 Code จะมากกว่าค่าของ BCD 8421 อยู่ 3 ในทุก ๆ ชุด การเปรียบเทียบรหัส BCD 8421 กับรหัสเกิน 3 แสดงดังตาราง

  14. Codes การเปรียบเทียบรหัส BCD 8421 กับรหัส Excess–3 Code แสดงดังตาราง

  15. Codes 3. รหัส BCD แบบ 4 บิตชนิดอื่น ๆ BCD

  16. Codes 3. รหัสเกรย์ (Gray Code) เป็นรหัสเลขฐานสองอีกชนิดหนึ่งที่มีจุดประสงค์ต้องการนับเลขโดยให้เปลี่ยน แปลงเพียงทีละบิตเท่านั้นต่อการนับเพิ่มขึ้นหนึ่งหมายเลขดังตาราง

  17. Codes การเปลี่ยนเลขฐานสองเป็นรหัสเกรย์ • เริ่มต้นจากบิตซ้ายมือสุด หรือบิตที่มีความสำคัญมากสุด (MSB) ดึงบิตนี้ไปเขียน • เป็นรหัสเกรย์ค่าตัวเลขเหมือนกับเลขฐานสอง • นำ MSB ของเลขฐานสองบวกกับบิตถัดไปทางขวามือ (บวกกันไปเรื่อย ๆ) • โดยยึดหลักการบวกกันของเลขฐานสอง ดังนี้ • 0 + 0 = 0 • 0 + 1 = 1 • 1 + 0 = 1 • 1 + 1 = 0 ตัวทด 1 ตัดทิ้งไป + Example(10101)2 + + + + เลขฐานสอง 1 0 1 0 1 รหัสเกรย์1 00 1 1 1 1

  18. Codes การเปลี่ยนรหัสเกรย์เป็นเลขฐานสอง • เริ่มต้นจากบิตซ้ายมือสุด หรือบิตที่มีความสำคัญมากสุด (MSB) ดึงบิตนี้ไปเขียน • เป็นเลขฐานสอง ค่าตัวเลขเหมือนกับรหัสเกรย์ • นำ MSB ของเลขฐานสองบวกกับบิตถัดไปของรหัสเกรย์ ทางขวามือ • (บวกกันไปเรื่อย ๆ) Example(11111)G 1 รหัสเกรย์ 1 1 1 1 + + + + 1 0 1 0 1 เลขฐานสอง

  19. Codes รหัสแอสกี้ (ASCII : American Standard Code for Information Interchange) • เป็นรหัสเลขฐานสองขนาด 7 บิต ใช้แทนอักขระ 128 ตัว โดยรวมรหัสควบคุมต่างๆ ด้วย • รหัสแอสกี้ถือเป็นรหัสมาตรฐานที่ใช้ในคอมพิวเตอร์เพื่อรับข้อมูลจากแป้นพิมพ์ แสดงตัวอักขระทางจอภาพและส่งข้อมูลออกทางเครื่องพิมพ์ รหัสแอสกี้เป็นรหัส 7 บิต มีรูปแบบดังนี้ X6X5X4X3X2X1X0

  20. X6X5X4X3X2X1X0 0001 100 ที่มา (Leach, D.P., 2001, p. 203)

  21. Codes ตัวอย่าง จงหาค่ารหัสแอสกี้ ที่ออกจากแป้นพิมพ์เมื่อกดแป้นพิมพ์แต่ละครั้ง สมมติว่าท่านพิมพ์คำว่า “Digital” จะมีรหัสออกตามลำดับดังนี้

  22. Codes พาริตี้บิต X6X5X4X3X2X1X0 X7 พาริตี้บิต มีอยู่ 2 แบบ คือ พาริตี้คู่ (even – parity) เป็นการเพิ่มบิต เข้าไปรวมกับข้อมูลที่จะส่ง แล้วทำให้ข้อมูลกลุ่มนั้นมีจำนวนลอจิกที่เป็น “1” เป็นคู่ พาริตี้คี่ (odd parity) จะมีความหมายตรงกันข้าม คือ กลุ่มข้อมูลนั้นจะมีจำนวนลอจิกที่เป็น “1” เป็นคี่

  23. Codes รหัส ASCII ที่เป็นพาริตี้คู่ 0100 0001 (A) พาริตี้บิต 1100 0101 (E) 0 1 รหัส ASCII ที่เป็นพาริตี้คี่ 1100 1011 (K) พาริตี้บิต 0100 1010 (J)

More Related