วันจันทร์ที่ 8 สิงหาคม พ.ศ. 2554

สรุปเนื้อหาบทเรียน เื่รื่่อง ระบบจำนวนและการแทนค่าข้อมูลในคอมพิวเตอร์


ระบบเลขฐานสิบ (Decimal Numbering System)



               ระบบเลขฐานสิบ เป็นระบบเลขที่ใช้กันในชีวิตประจำวัน ไม่ว่าจะนำไปใช้คำนวณประเภทใด โดยจะมีสัญลักษณ์ที่ใช้แทนตัวเลขต่างๆ ของเลขฐานสิบ (Symbol) จำนวน 10 ตัว ตัวเลขหรือที่เรียกว่า Digit ที่ใช้แทนระบบเลขฐานสิบ ได้แก่ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

เลขฐาน 10
0123456789

               ตัวเลขแต่ละตัวจะมีค่าประจำตัว โดยกำหนดให้ค่าที่น้อยที่สุด คือ 0 (ศูนย์) และเพิ่มค่าทีละหนึ่ง จนครบจำนวน 10 ตัว ดังนั้นค่ามากที่สุด คือ 9 การนำตัวเลขเหล่านี้ มารวมกลุ่มกัน ทำให้เกิดความหมายเป็น "ค่า" นั้น อาศัยวิธีการกำหนด "หลัก" ของตัวเลข (Position Notation) กล่าวคือ ค่าของตัวเลขจำนวนหนึ่ง

ระบบเลขฐาน 2 (Binary Number System

ระบบเลขฐาน 2 (Binary Number System) เป็นเลขฐานที่ประกอบด้วยเลข 2 ตัว ได้แก่เลข 0 กับ เลข 1 ซึ่งเป็นเลขฐานที่คอมพิวเตอร์สามารถเข้าใจได้ง่าย เพราะว่าอุปกรณ์ทางไฟฟ้าก็มีสถานะเพียง 2 สถานะ คือ เปิด กับ ปิด ซึ่งก็เทียบได้กับ 0 กับ 1 แต่ถ้าใช้เลขฐาน 10 ในคอมพิวเตอร์อาจจะเกิดปัญหาอย่างอื่นตามมา หรือแม้แต่อุปกรณ์ทางไฟฟ้า ก็ต้องแบ่งสถานะออกเป็น 10 สถานะ ซึ่งไม่เป็นที่นิยมนัก การเก็บข้อมูลในระบบของคอมพิวเตอร์ก็จะจัดเก็บเป็นกลุ่มตัวเลขฐานสองหลายบิต ขึ้นอยู่กับขนาดของสิ่งที่ต้องการเก็บ และหน่วยความจำที่ใช้


         การแปลงเลขฐาน 2 เป็นเลขฐาน 10
การแปลงเลขฐาน 2 เป็นเลขฐาน 10 เลขฐาน 2 แต่ละหลักมีเลขประจำหลักต่างกันไปในการแปลงเป็นเลขฐานอื่น โดยเริ่มจาก
         หลักหน่วย   จะเท่ากับ   20   หรือเท่ากับ    1
    หลักสิบ       จะเท่ากับ   21   หรือเท่ากับ    2
    หลักร้อย     จะเท่ากับ   22   หรือเท่ากับ    4
    หลักพัน      จะเท่ากับ   23   หรือเท่ากับ    8
    หลักหมื่น    จะเท่ากับ   24   หรือเท่ากับ  16
และหลักถัดไปก็จะยกกำลังเพิ่มขึ้น บวกหนึ่งไปเรื่อย ๆ ตามจำนวนหลักของเลขฐานสอง หรือถ้าสังเกตดี ๆ จะเห็นได้ว่า ตัวเลขจะมีการเพิ่มขึ้นหนึ่งเท่าทุก ๆ จำนวน เริ่มจาก 1 เป็น 2 2 เป็น 4 4 เป็น 8 8 เป็น 16 16 เป็น 32 32 เป็น 64 ไปเรื่อย ๆ
ยกตัวอย่างเช่น แปลงเลข 10101 ฐาน 2 เป็นเลข ฐาน 10 วิธีทำ
 วิธีที่ 1   จับตัวเลขของแต่ละหลัก คูณกับเลขประจำหลักของแต่ละตัว แล้วนำผลของแต่ละตัวมาบวกกัน
              10101  = [(1 * 24) + (0 * 23) + (1 * 22) + (0 * 21) + (1 * 20)
             = 16 + 0 + 4 + 0 + 1
             = 21
วิธีที่ 2  แทนค่าเลขประจำหลักโดยไม่ต้องคูณ   โดยให้นำเลขประจำหลักของเลขฐาน 2 ที่มีค่าเป็น 1มาบวกกัน
                                                   16   8   4   2  1
              10101 =     1   0   1   0  1
       จากเลขประจำหลักของแต่ละหน่วย   จะได้  16 + 4 + 1  = 21  ซึ่งได้คำตอบเท่ากับ



               การแปลงเลขฐาน 10 เป็นเลขฐาน 2 
     การแปลงเลขฐาน 10 เป็นเลขฐาน 2 ใช้วิธีเช่นเดียวกับวิธีที่ 2 ของการแปลงเลขฐาน 2 เป็นเลขฐาน 10 โดยการให้ตัวเลขที่นำมาบวกกันแล้วได้เลขเท่ากับ เลขฐาน 2 ที่ต้องการแปลงเท่ากับ 1 ถ้าตัวไหนไม่ได้นำมาบวกให้เท่ากับ 0 ตัวอย่างเช่น แปลง 252 ฐาน 10 เป็นเลขฐาน 2 วิธีการ ใช้หลักการของตัวเลขประจำหลัก คือ จาก 1 เป็น 2 จาก 2 เป็น 4 จาก 4 เป็น 8 จาก 8 เป็น 16

      ซึ่งตัวเลขที่นำมาบวกกันแล้วได้ 252  ได้แก่  128 + 64 + 32 + 16 + 8 + 4 ส่วนเลข 2 กับ 1 ไม่ได้นำมาบวกก็ให้เท่ากับ 0
      จะได้ 11111100 ฐาน 2


ระบบเลขฐาน 8 (Octal Number System)


         ระบบเลขฐาน 8 (Octal Number System) เป็นเลขฐานที่ประกอบด้วยเลข 8 ตัว ซึ่งประกอบด้วยเลข 0, 1, 2, 3, 4, 5, 6, 7 ซึ่งเป็นเลขฐานที่เพิ่มเนื้อที่หน่วยความจำในการเก็บให้มากขึ้น การเก็บข้อมูลเป็นเลขฐาน 8 จะทำให้เก็บข้อมูลได้มากขึ้น

                  การแปลงเลขฐาน 10 ให้เป็นเลขฐาน 8 
                  การแปลงเลขฐาน 10 ให้เป็นเลขฐาน 8 ทำได้โดยเอาเลขฐานสิบตั้ง แล้วหารด้วยเลข 8 ไปเรื่อย ๆ จนกระทั่งผลลัพธ์เป็น "0" ในการหารนั้นจะต้องเขียนเศษไว้ทุกครั้ง จากนั้นให้เขียนเศษที่ได้จากการหารโดยเรียงลำดับจากด้านล่างขึ้นด้านบน 


                  การแปลงเลขฐาน 8 เป็นเลขฐาน 2

                  การกำหนดรหัสฐานแปด ของเลขฐานสอง กระทำได้โดยการแบ่งกลุ่มๆ ละ 3 บิต ลองพิจารณาเลขฐานสอง 24 บิต ที่เก็บไว้ในคอมพิวเตอร์ เช่น 	101011010100001111000110
                 สามารถแบ่งกลุ่มได้ดังนี้
	                      101    011     010     100     001      111     000     110	
	                        5        3         2         4         1          7          0         6

ระบบเลขฐาน 16 (Hexadecimal Number System)

เป็นเลขฐานที่ประกอบด้วยตัวเลข10ตัวและตัวอักษรแทนตัวเลขอีก 6 ตัวซึ่งประกอบด้วยเลข 0, 1, 2, 3, 4, 5, 6, 7, 8, 9และตัวอักษรภาษาอังกฤษแทน 10 ถึง 15 ได้แก่ A, B, C, D, E, F ซึ่งก็จะเก็บข้อมูลได้มากกว่าระบบเลขฐาน 2 ฐาน 8
การแปลงเลขฐาน 10 เป็นเลขฐาน 16
  การแปลงเลขฐาน 10 ให้เป็นเลขฐาน 16 ทำได้โดยเอาเลขฐานสิบตั้ง แล้วหารด้วยเลข 16 ไปเรื่อย ๆ จนกระทั่งผลลัพธ์เป็น"0" ในการหารนั้นจะต้องเขียนเศษไว้ทุกครั้ง จากนั้นให้เขียนเศษที่ได้จากการหารโดยเรียงลำดับจากด้านล่างขึ้นด้านบน


               การแปลงเลขฐาน 16 เป็นเลขฐาน 2

            การกำหนดรหัสฐานสิบหกของเลขฐานสอง  กระทำได้โดยการแบ่งเป็นกลุ่มๆ ละ 4 บิต ตามเลขฐานสิบหก เช่น 11110010
            สามารถแบ่งเป็นกลุ่มได้ดังนี้                    1111     0010	                                                                            	                        F           2

รหัส BCD – 8421 (Binary Code Decimal) 
                   
                    รหัส BCD - 8421 เป็นรหัสชนิดหนึ่งในระบบเลขฐานสอง ใช้หลักการแทนค่าเลขฐานสิบ 1 หลัก (Digit) ด้วยเลขฐานสอง 4 บิต มีผลดีคือทำให้สามารถใช้สายส่งข้อมูลเพียง 4  เส้น   (สำหรับ 4 บิต)   เพื่อส่งข้อมูลเลขฐานสองมากๆได้ เนื่องจากรหัส  BCD - 8421 สร้างขึ้นมาเลียน   แบบเลขฐาน สิบ ดังนั้นรหัส BCD - 8421 จึงมีจำนวนเท่ากับจำนวนของเลขฐานสิบ     คือ 10 รหัส ดัง
ตาราง

Decimal
BCD - 8421
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
รหัสเกิน 3 (Excess - 3 Code)



                รหัสเกิน 3 คล้ายกับรหัส BCD – 8421 และรหัสเกิน 3 นี้เป็นรหัสชนิดหนึ่งในระบบเลขฐาน สองเช่นกัน ใช้สำหรับการคำนวณทางคณิตศาสตร์ (Arithmetic circuit) เนื่องจากรหัสเกิน 3 นี้ มีค่าคอมพลีเมนต์ในตัวเอง (Self - complementing) ลักษณะของรหัสเกิน 3 คือการเพิ่มค่าตัวเลขฐานสิบในหลักใดๆ โดยบวกอีก 3 เช่น เลข 4 ฐานสิบจะมีค่าเท่ากับ (0111)EX-3 นั่นคือนำเลข 4 
มาบวก 3 เป็น 7 และแปลงเลข 7 เป็นเลขฐานสอง จะได้ 0111  ดังตารางที่ 3.5 จะเห็นว่ารหัสเกิน 3 จะมีค่ามากกว่ารหัส BCD – 8421 อยู่ 3


Decimal
BCD – 8421 code
Excess – 3 code
0
0000
0011
1
0001
0100
2
0010
0101
3
0011
0110
4
0100
0111
5
0101
1000
6
0110
1001
7
0111
1010
8
1000
1011
9
1001
1100


ไม่มีความคิดเห็น:

แสดงความคิดเห็น