เลขฐานที่ใช้ในคอมพิวเตอร์

ระบบเลขฐานที่ใช้กับคอมพิวเตอร์
    คอมพิวเตอร์ เป็นอุปกรณ์อิเล็กทรอนิกส์ที่ต้องทำงานด้วยกระแสไฟฟ้า ดังนั้นจึงมีการแทนที่สภาวะของกระแสไฟฟ้าได้  2  สภาวะ คือ สภาวะที่มีกระแสไฟฟ้า และสภาวะที่ไม่มีกระแสไฟฟ้า และเพื่อให้โปรแกรมเมอร์สามารถสั่งงานให้คอมพิวเตอร์ทำงานตามคำสั่งได้   จึงได้มีการสร้างระบบตัวเลขที่นำมาแทนสภาวะของกระแสไฟฟ้า 
โดยตัวเลข 0 จะแทนสภาวะไม่มีกระแสไฟฟ้า หรือ ปิด (off)
และเลข 1 แทนสภาวะมีกระแสไฟฟ้า  หรือเปิด (on)
    จึงได้กำหนดตัวเลขที่มีจำนวน 2 จำนวน (2 ค่า) เรียกว่าระบบเลขฐานสอง (Binary Number System) หรือเรียกว่า    ดิจิทัล( ( digital) เฉพาะชื่อเฉพาะอาจสะกดเป็น ดิจิทอล หรือ ดิจิตอล) ระบบดิจิตอล ซึ่งเป็นระบบตัวเลข 0  กับ 1  ที่สามารถนำมาใช้ในการสั่งงานคอมพิวเตอร์ให้ทำงานตามโปรแกรมที่เขียนสั่งงาน โดยการแทนที่สภาวะต่างๆ ของกระแสไฟฟ้า แต่ในชีวิตประจำวันของคนเราจะคุ้นเคยกับตัวเลขฐานสิบ(Decimal Number System) ที่มีจำนวน 10 จำนวน คือ เลข 0 - 9  ดังนั้นจึงมีความจำเป็นต้องศึกษาระบบเลขฐาน ประกอบการศึกษาวิชาด้านคอมพิวเตอร์ เพื่อความเข้าใจพื้นฐานการทำงานของเครื่องคอมพิวเตอร์

ระบบจำนวนที่ใช้ในทางคอมพิวเตอร์
ประกอบด้วย
ระบบเลขฐานสอง (Binary) ประกอบด้วยตัวเลข 0 และ 1
ระบบเลขฐานแปด (Octal) ประกอบด้วยตัวเลข 0 - 7
ระบบเลขฐานสิบ (Decimal) ประกอบด้วยตัวเลข 0 - 9
ระบบเลขฐานสิบหก (Hexadecimal) ประกอบด้วยตัว เลข 0 - 9 และ A - F

ระบบจำนวน

จำนวนหลัก (Digit)

เลขฐานสอง

0

1

เลขฐานแปด

0

1

2

3

4

5

6

7

เลขฐานสิบ

0

1

2

3

4

5

6

7

8

9

เลขฐานสิบหก

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

    การแปลงเลขฐานสองเป็นเลขฐานสิบ มีหลายวิธี แต่ที่จะแนะนำคือ การกระจายค่าประจำหลัก จากนั้นนำมาบวกรวมกันอีกครั้ง ผลลัพธ์ที่ได้จะเท่ากับค่าในเลขฐานสิบ
ตัวอย่างที่1  (110111)2 มีค่าเท่ากับเท่าไรในระบบเลขฐานสิบ
วิธีทำ
N = (1 x 25) + (1 x 24) + (0 x 23) + (1 x 22) + (1 x 21) + (1 x 20)
   = 32 + 16 + 0 +4 + 2 + 1
1101112 = 5510

การแปลงเลขฐานสอง เป็นเลขฐานสิบ วิธีที่สอง คือ Dibble Dobble Method โดยการนำเอาเลขหลักซ้ายสุด มาวางไว้ แล้วคูณด้วย 2 จากนั้นบวกด้วยเลขบิทที่อยู่ ทางขวามือ จากนั้นนำผลลัพธ์ มาคูณด้วย 2 บอกด้วยเลขบิทต่อไป ดังนี้
เช่น ต้องการแปลง (110111)2 เป็นเลขฐานสิบ
บิทซ้ายสุด คือ 1 
คูณด้วย 2 และบวกบิทถัดไป (2 x 1) + 1 = 3
คูณด้วย 2 และบวกบิทถัดไป (2 x 3) + 0 = 6
คูณด้วย 2 และบวกบิทถัดไป (2 x 6) + 1 = 13
คูณด้วย 2 และบวกบิทถัดไป (2 x 13) + 1 = 27
คูณด้วย 2 และบวกบิทถัดไป (2 x 27) + 1 = 55
ดังนั้น 1101112 = 5510

 อีกวิธีที่น่าสนใจและใช้คำนวณง่ายมาก
  
ที่มาของค่าประจำหลัก
   2  ยกกำลัง  0   =    1
   2  ยกกำลัง  1   =    2
   2  ยกกำลัง  2   =    4
   2  ยกกำลัง  3   =    8
   2  ยกกำลัง  4   =    16
   2  ยกกำลัง  5   =    32
   2  ยกกำลัง  6   =    64
   2  ยกกำลัง  7   =    128


ค่าประจำหลัก
128 64 32 16 8 4 2 1
เลขฐานสอง
1 0 1 0 1 0 1 0

วิธีคิดให้นำค่าประจำหลักที่เลขฐานสองมีค่าเป็น 1  เท่านั้นมาบวกกันและถ้าค่าประจำหลักที่มีเลขฐานสองเป็น  0  จะนำค่าคือ  0  
จากตาราง   10101010  คือ  128+0+32+0+8+0+2+0  คำตอบเลขฐานสิบคือ  170  


ค่าประจำหลัก
128 64 32 16 8 4 2 1
เลขฐานสอง
0 0 0 0 1 0 1 1
จากตาราง   00001011  คือ  นำค่าประจำหลักที่เลขฐานสองเป็น  1 มาบวกกัน = 0+0+0+0+8+0+2+1  คำตอบเลขฐานสิบคือ  11  


ค่าประจำหลัก
128 64 32 16 8 4 2 1
เลขฐานสอง
1 1 1 1 1 1 1 1


จากตาราง   11111111  คือ  นำค่าประจำหลักที่เลขฐานสองเป็น  1 มาบวกกัน = 128+64+32+16+8+4+2+1  คำตอบเลขฐานสิบคือ  255 

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

decimal

อีกวิธีการแปลงเลขฐานสิบเป็นฐานสองที่ง่ายโดยการใช้ค่าประจำหลักเข้ามาใช้

เช่นค่าฐานสิบมีค่า  200

วิธีคิด  นำค่าประจำหลักมาลบถ้าลบได้ให้ใส่ 1  ที่เลขฐานสองลบไม่ได้ใส่  0
          200 - 128  =   72

ค่าประจำหลัก
128 64 32 16 8 4 2 1
เลขฐานสอง
1              

     ต่อไป เหลือ  72- 64  =   8


ค่าประจำหลัก
128 64 32 16 8 4 2 1
เลขฐานสอง
1  1            

     ต่อไป เหลือ  8 -  (32 และ 16 ) ลบกันไม่ได้ใส่  0  ที่ เลขฐานสอง ทั้งสองช่อง
ค่าประจำหลัก
128 64 32 16 8 4 2 1
เลขฐานสอง
1  1  0        

ต่อไป เหลือ  8 - 8 = 0  ใส่ 1 ในช่องเลขฐานสองตรงกับค่าประจำหลัก  8
และค่าที่เหลือคือ  0  ช่องในเลขฐานสองที่เหลือใส่ 0

ค่าประจำหลัก
128 64 32 16 8 4 2 1
เลขฐานสอง
1  1  0  0  0

ค่าฐานสิบคือ 200  จะได้เลขฐานสองดังตารางข้างบน   11001000

Content's Picture

Comment(s)


Vote this Content ?

Create by :


kruyodchai

Status : ผู้ใช้ทั่วไป
วิทยาศาสตร์