1 / 37

ระบบเลขในคอมพิวเตอร์

ระบบเลขในคอมพิวเตอร์.

Download Presentation

ระบบเลขในคอมพิวเตอร์

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. ระบบเลขในคอมพิวเตอร์ • คอมพิวเตอร์ทำงานด้วยกระแสไฟฟ้า ดังนั้นจึงมีการแทนที่สภาวะของกระแสไฟฟ้าได้ 2 สภาวะ คือ สภาวะที่มีกระแสไฟฟ้า และสภาวะที่ไม่มีกระแสไฟฟ้า และเพื่อให้โปรแกรมเมอร์สามารถสั่งการคอมพิวเตอร์ได้ จึงได้มีการสร้างระบบตัวเลขที่นำมาแทนสภาวะของกระแสไฟฟ้า โดยตัวเลข 0 จะแทนสภาวะไม่มีกระแสไฟฟ้า และเลข 1 แทนสภาวะมีกระแสไฟฟ้า สภาวะมีกระแสไฟฟ้า แทนด้วยตัวเลข 1 • สภาวะไม่มีกระแสไฟฟ้า แทนด้วยตัวเลข 0 • ระบบตัวเลขที่มีจำนวน 2 จำนวน (2 ค่า) เรียกว่าระบบเลขฐานสอง (Binary Number System)

  2. ระบบจำนวนที่ใช้ในทางคอมพิวเตอร์ระบบจำนวนที่ใช้ในทางคอมพิวเตอร์

  3. ระบบเลขฐานสอง (Binary) มีตัวเลข 0 และ 1 เช่น 0000 0001 0010 ตำแหน่งของหลักเรียกว่าบิต (Bit มาจาก Binary Digit) โดยบิตขวามือสุดเป็นบิต 0 ซึ่งเรียกว่า LSB (Least Significant Bit) ส่วนบิตซ้ายมือสุดเรียกว่า MSB (Most Significant Bit) Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 1 0 1 0 1 1 0 0 LSB MSB

  4. ระบบเลขฐานสอง (Binary) ค่าของเลขฐานสองหาได้จากการรวมค่าของจำนวนเลขที่คิดตามตำแหน่งของหลักคล้ายกับเลขฐานสิบโดยค่าความแตกต่างของหลักมีค่าเพิ่มเป็น 2 เท่าหลักที่ต่ำกว่า( เลขฐานสิบต่างกัน 10 เท่า) จำนวนของเลขฐานสองหาได้ดังนี้ MSB LSB 0 1 0 0 0 1 1 1 128 64 32 16 8 4 2 1 ค่าที่ได้ = 64 +4+2+1 =71

  5. ระบบเลขฐานสอง (Binary) เลขฐานสองที่มี n บิตจะมีค่า 2 ยกกำลัง n ค่า เช่นเลขฐานสอง ขนาด 2 บิตจะมี 4ค่า (0 - 3) เลขฐานสองขนาด 4 บิตจะมี 16 ค่า (0 -15) bit1 bit0 ค่า 0 0 0 0 1 1 1 0 2 1 1 3 เลขฐานสองขนาด 2 บิต

  6. ระบบเลขฐานสอง (Binary) ตัวอย่าง หาค่าของเลขฐานสองต่อไปนี้ ก) 0 0 1 0 ข) 1001 ค) 00101010 ง) 10110011 ก) 0010 = 2 ข) 1001 = 8 +1 = 9 ค) 00101010 = 32 +8 + 2 = 42 ง) 10110011 = 128 +32+16+2+1 =179

  7. การแปลงเลขฐานสิบเป็นเลขฐานสองการแปลงเลขฐานสิบเป็นเลขฐานสอง ใช้วิธีการหารด้วย 2 ไปเรื่อยจนกว่าจะหารไม่ได้ ผลลัพธ์คือเศษของการหารทุกตัว ตัวอย่างหาค่าของเลขฐานสองจากเลขต่อไปนี้ 6 ,11,97 2 ) 11 = 5 เศษ 1 2 ) 5 = 2 เศษ 1 2 ) 2 = 1 เศษ 0 2 ) 1 = 0 เศษ 1 2 ) 6 = 3 เศษ 0 2 ) 3 = 1 เศษ 1 2 ) 1 = 0 เศษ 1 6 = 0110 11 = 1011

  8. การแปลงเลขฐานสิบเป็นเลขฐานสองการแปลงเลขฐานสิบเป็นเลขฐานสอง หาค่าของเลขฐานสองจากเลขฐานสิบค่า 97 2 ) 97 2 ) 48เศษ1 2 ) 24เศษ 0 2 ) 12เศษ 0 2 ) 6เศษ 0 2 ) 3เศษ0 2 ) 1เศษ1 0 เศษ 1 (bit 0) 97 = 01100001

  9. หน่วยของเลขฐานสอง 1 Byte 4 Bit= 1 Nibble 1 0 1 1 0 0 1 1 8 Bit = 1Byte หรือ 1 Character Hi Nibble Low Nibble 2 Byte = 1 Word 10 =1024 Byte 1 KByte = 2 20 =1024 * 1024 Byte 1 Mbyte = 2 30 =1024 * 1024 * 1024 Byte 1 GByte = 2

  10. การบวกเลขฐานสอง จะทำการบวกครั้งละบิตโดยเริ่มจากบิตต่ำซึ่งอยู่ทางขวามือก่อน และจะมีการทดไปบิตสูงเมื่อบวกกันแล้วได้ค่าเกิน 1 1100 + 0010 1001 + 0001 01011001 + 00111101 =9 =12 =1 =2 10010110 1110 1010 =10 =14

  11. การบวกเลขฐานสอง หาผลบวกของเลขฐานสองต่อไปนี้ 01011111 + 00111101 00000111 11110011 + 00011111 100010010 10100011

  12. การลบเลขฐานสอง การลบจะทำการลบครั้งละบิตโดยเริ่มจากบิตต่ำซึ่งอยู่ทางขวามือก่อน และจะมีการยืมจากบิตสูงเมื่อตัวตั้งน้อยกว่า ค่าที่ยืมมาจะมีค่าเป็น 2 01011111 - 00111101 1100 - 0111 0110 - 0001 00100010 0101 0101

  13. การคูณเลขฐานสอง การคูณจะคูณคล้ายกับเลขฐานสิบ 01011111 * 00001110 0110 * 0011 0110 * 0001 01011111 01011111 01011111 0110 0110 10010 0110 10100110010

  14. การหารเลขฐานสอง ใช้วิธีการตั้งหารดังตัวอย่าง 0 1 0 0 0 1 0 เศษ 1 11 ) 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1

  15. ชนิดของเลขฐานสอง (Binary) ระบบเลขฐานสองแบ่งออกได้เป็น 3 ชนิด คือ • แบบไม่คิดเครื่องหมาย(Unsigned Binary) • รหัส BCD (Binary Code Decimal) • แบบคิดเครื่องหมาย (Signed Binary)

  16. Unsigned Binary เป็นเลขที่ไม่คิดเครื่องหมายมีค่าเป็นจำนวนบวกอย่างเดียว โดยค่าของจำนวนเลขคิดตามตำแหน่งของหลักคล้ายกับเลขฐานสิบโดยค่าของจำนวนหาได้ดังนี้ MSB LSB 0 1 0 0 0 1 1 1 128 64 32 16 8 4 2 1 ค่าที่ได้ = 64 + 4 + 2 +1 = 71

  17. Binary Code Decimal (BCD) เป็นการใช้รหัสของเลขฐานสอง 4 บิตแทนเลขฐานสิบ 1 หลัก ดังนั้นหากมีเลขฐานสอง 8 บิตจะแทนเลขฐานสิบได้ 2 หลักดังเช่น 0 1 0 0 0 1 1 1 8 4 2 1 8 4 2 1 4 7

  18. Binary Code Decimal (BCD) ตัวอย่าง หาค่าของเลขฐานสองแบบ BCD ต่อไปนี้ ก) 00110100 ข) 01101001 ค) 100100100010 ง) 0100110111 ก) 00110100 = 34 ข) 01101001 = 69 ค) 100100100010 = 922 ง) 0100110111 = 137

  19. Binary Code Decimal (BCD) ตัวอย่าง หาเลขฐานสองแบบ BCD จากเลขฐานสิบต่อไปนี้ ก)35 ข) 14 ค) 162 ง) 248 ก) 35 = 00110101 ข) 14 = 00010100 ค) 162 = 000101100010 ง) 248 = 001001001000

  20. เลขฐานสองแบบคิดเครื่องหมาย(Signed Binary) เป็นการใช้งานเลขฐานสองแบบมีเครื่องหมายรวมอยู่ด้วย โดยกำหนดบิตซ้ายมือสุดคือบิตเครื่องหมาย หากบิตซ้ายมือสุดมีค่าเป็น 1 แสดงว่าเป็นค่าลบ เป็น 0 แสดงว่าเป็นค่าบวก ส่วนบิตที่เหลือเป็นค่าของจำนวน 0 1 0 0 1 0 1 0 มีค่าเป็น บวก บิทเครื่องหมาย 1 0 1 0 1 0 1 0 มีค่าเป็นลบ

  21. เลขฐานสองแบบคิดเครื่องหมาย(Signed Binary) ตัวอย่างของเลขฐานสองแบบคิดเครื่องหมายขนาด 3 บิต (0) 000 000 001 010 011 100 101 110 111 0 1 2 3 -4 -3 -2 -1 001 111 (+1) บวก (- 1) 010 110 (+2) (- 2) ลบ 011 101 (+3) (- 3) 100 (- 4)

  22. เลขฐานสองแบบคิดเครื่องหมาย(Signed Binary) ตัวอย่างของเลขฐานสองแบบคิดเครื่องหมายขนาด 4 บิต 0 0 0 0 = 0 0 0 0 1 = 1 0 0 1 0 = 2 0 0 1 1 = 3 0 1 0 0 = 4 0 1 0 1 = 5 0 1 1 0 = 6 0 1 1 1 = 7 1 0 0 0 = - 8 1 0 0 1 = - 7 1 0 1 0 = - 6 1 0 1 1 = - 5 1 1 0 0 = - 4 1 1 0 1 = - 3 1 1 1 0 = - 2 1 1 1 1 = - 1

  23. เลขฐานสองแบบคิดเครื่องหมาย(Signed Binary) กรณีที่เป็นค่าบวกบิตซ้ายมือสุดเป็น 0 บิตที่เหลือจะคิดเป็นจำนวนได้เช่นเดียวกับเลขฐานสองแบบไม่คิดเครื่องหมายดังตัวอย่าง ก) 0010 = 2 ข) 0101 = 4+1 = 5 ค) 00101010 = 32 +8 + 2 = 42 ง) 01111111 = 64+32+16+8+4+2+1 =127

  24. เลขฐานสองแบบคิดเครื่องหมาย(Signed Binary) กรณีที่เป็นค่าลบบิตซ้ายมือสุดเป็น 1 การหาเลขฐานสองของจำนวนที่เป็นลบใช้วิธีการนำเลขจำนวนบวกมาทำ 2’s Complement ซี่งมีขั้นตอนดังนี้ ตัวอย่างหาค่าของเลขฐานสองจำนวนต่อไปนี้ - 3 และ -9 ค่าของ 3 เท่ากับ 0011 1) นำเลขฐานสองมาทำ Complement โดยการเปลี่ยนบิตเป็นตรงข้าม 0011 เปลี่ยนเป็น 1100 2) บวกผลลัพธ์ในข้อ 1 ด้วย 1 จะได้ผลลัพธ์เป็นจำนวน 1100 +1 = 1101 ดังนั้น -3 = 1101

  25. เลขฐานสองแบบคิดเครื่องหมาย(Signed Binary) หาค่าของเลขฐานสองของ -9 ค่าของ 9 เท่ากับ 00001001 1) นำเลขฐานสองมาทำ Complement โดยการเปลี่ยนบิตเป็นตรงข้าม 00001001 เปลี่ยนเป็น 11110110 2) บวกผลลัพธ์ในข้อ 1 ด้วย 1 จะได้ผลลัพธ์เป็นจำนวน 11110110 +1 = 11110111 ดังนั้น - 9 = 11110111

  26. เลขฐานสองแบบคิดเครื่องหมาย(Signed Binary) ตัวอย่าง หาค่าของเลขฐานสองแบบคิดเครื่องหมายจากเลขฐานสิบต่อไปนี้ ก) - 7 ข) -24 ค) -100 ง) - 130 ก) 7 = 0111 ; 1000+1 = 1001 - 7 = 1001 ข) 24 = 00011000 ; 11100111+1 = 11101000 -24 = 11101000 ค) 100 = 01100100 ; 10011011+1 = 10011100 -100 = 10011100 ง) 130 = 010000010 ;101111101 +1 =101111110 -130 = 101111110

  27. เลขฐานสองแบบคิดเครื่องหมาย(Signed Binary) ตัวอย่าง หาค่าของเลขฐานสองแบบคิดเครื่องหมายต่อไปนี้ ก) 0010 ข) 1001 ค) 00101010 ง) 10110011 ก) 0010 = 2 ข) 1001 = -7 ค) 00101010 = 32 +8 + 2 = 42 ง) 10110011 = - 77

  28. เลขฐานสองแบบคิดเครื่องหมายเลขฐานสองแบบคิดเครื่องหมาย ตัวอย่าง หาค่าของเลขฐานสิบจากเลขฐานสองแบบคิดเครื่องหมายต่อไปนี้ ก) 11110010 ข) 11111111 ค) 11110000 ง) 10000001 ก) 11110010 = -14 ข) 11111111 = -1 ค) 11110000 = -16 ง) 10000001 = - 127

  29. ระบบเลขฐานสิบหก (Hexa Decimal) ฐานสิบ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ฐานสอง 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 ฐานสิบหก 0 1 2 3 4 5 6 7 8 9 A B C D E F ประกอบด้วยตัวเลข 0-9 และตัวอักษร A ,B,C,D,E,F ซึ่งเกิดจากการรวมเลขฐานสองเป็นกลุ่มละ 4 บิต เพื่อให้ง่ายต่อการใช้งานและการจำ ความสัมพันธ์ของเลขฐานสิบหก ฐานสองและฐานสิบเป็นดังนี้

  30. ระบบเลขฐานสิบหก (Hexa Decimal) การเขียนค่าของตัวเลข ฐานสิบหกจะใช้ ตัวอักษร H กำกับต่อจากค่าเพื่อแสดงว่าเป็นเลขฐานสิบหก ส่วนเลขฐานสองจะใช้ B กำกับ เลขฐานสิบไม่มีตัวอักษรกำกับดังเช่น 1010B เป็นเลขฐานสอง 1010H เป็นเลขฐานสิบหก 1010 เป็นเลขฐานสิบ

  31. การแปลงเลขฐานสิบหกเป็นฐานสิบการแปลงเลขฐานสิบหกเป็นฐานสิบ ค่าของเลขฐานสิบหกจะมีค่าตามตำแหน่งของหลักโดยค่าจะเป็น 16 เท่าของหลักต่ำดังนี้ 1 2 4 256 16 1 ค่าของเลขฐานสิบหกหาได้จากการนำค่าในตำแหน่งคูณกับค่าประจำหลัก ดังนั้นค่าของ 124H = 1 x 256 +2 x 16 + 4 = 296

  32. การแปลงเลขฐานสิบหกเป็นฐานสิบการแปลงเลขฐานสิบหกเป็นฐานสิบ ตัวอย่าง หาค่าของเลขฐานสิบจากเลขฐานสิบหกต่อไปนี้ก) 11H ข) 1CH ค) A2H ก) 11H = 1*16 + 1*1 = 17 ข) 1CH = 1*16 + 12*1 = 28 ค) A2H = 10*16 + 2*1 = 162

  33. การแปลงเลขฐานสองเป็นฐานสิบหกการแปลงเลขฐานสองเป็นฐานสิบหก ตัวอย่าง หาค่าของเลขฐานสิบหกจากเลขฐานสองต่อไปนี้ก) 01101011B ข) 11111110Bค) 10101010B ก) 01101011B = 6BH ข) 11111110B = FEH ค) 10101010B = AAH

  34. การแปลงเลขฐานสิบเป็นฐานสิบหกการแปลงเลขฐานสิบเป็นฐานสิบหก ใช้วิธีการหารด้วย 16 ไปเรื่อยจนกว่าจะหารไม่ได้ ตัวอย่างหาค่าของเลขฐานสิบหกจากเลขฐานสิบต่อไปนี้ 22 ,48,138 16) 22 1 เศษ 6 16) 48 3 เศษ 0 16) 138 8 เศษ 10 22 = 16H 48 = 30H 138 = 8AH

  35. การบวกเลขฐานสิบหก ทำการบวกเริ่มต้นจากหลักขวามือก่อนและจะทำการทดไปยังหลักสูงเมื่อมีค่าเกิน 15 ตัวอย่าง หาค่าผลบวกของเลขฐานสิบหกต่อไปนี้ 1FH + 1BH 12H + 19H 48H + 19H 61H 3AH 2BH

  36. การลบเลขฐานสิบหก ทำการลบจากหลักขวามือก่อนและจะทำการยืมเมื่อตัวตั้งน้อยกว่าตัวลบการยืมจะยืมจากหลักสูงมา 1 ซึ่งจะกลายเป็น 16 ในหลักที่กำลังลบกัน ตัวอย่าง หาค่าของการลบเลขฐานสิบหกต่อไปนี้ 1FH - 19H 42H - 15H FAH - 1BH 06H 2DH DFH

  37. เลขฐานสิบหก คำถาม หาค่าของเลขฐานสิบจากเลขฐานสิบหกต่อไปนี้ 1) A0H 2) 18H 3) 7FH 4) FFH 5) FFFFH 6) 03FFH 7) 1000H

More Related