ความรู้พื้นฐานด้านดิจิตอล (Number System)

          ระบบเลขฐาน จัดเป็นระบบตัวเลขที่ใช้งานอยู่ใน PLC ดังนั้นผู้ใช้งานมีความจำเป็นต้องศึกษาระบบเลขฐานให้เข้าใจประกอบกับข้อมูลอื่นๆ เพื่อการใช้งานที่ถูกต้อง

                       ระบบเลขฐานสอง (Binary)
                       ระบบเลขฐานสิบ (Decimal)
                       ระบบเลขฐานสิบหก (Hexadecimal)

ความสัมพันธ์ของเลข BIN, BCD และ HEX สามารถกำหนดให้เป็นตารางได้ดังนี้

HEX

BCD

FOUR DIGIT BINARY

 

 

2^3 = 8

2^2 = 4

2^1 = 2

2^0 = 1

0

0

0

0

0

0

1

1

0

0

0

1

2

2

0

0

1

0

3

3

0

0

1

1

4

4

0

1

0

0

5

5

0

1

0

1

6

6

0

1

1

0

7

7

0

1

1

1

8

8

1

0

0

0

9

9

1

0

0

1

A

-

1

0

1

0

B

-

1

0

1

1

C

-

1

1

0

0

D

-

1

1

0

1

E

-

1

1

1

0

F

-

1

1

1

1

                    BIN (Binary)                          =       ระบบเลขฐานสอง
                    BCD (Binary Code Decimal)  =       ระบบเลขฐานสิบ
                    HEX (Hexadecimal)               =       ระบบเลขฐานสิบหก


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

สถานะหนึ่ง
สถานะตรงข้าม
0
1
Off
On
Space
Mark
Open
Closed
Low
Hi

          ถ้าจะเทียบเลขฐานสองกับเลขฐานสิบแล้ว เลขฐานสองจะมีจำนวนหลักมากกว่า เพราะว่าในแต่ละหลักจะมีเลขได้สองค่า แต่ถ้าเป็นเลขฐานสิบแต่ละหลักจะมีเลขได้เก้าค่าคือ 0 ถึง 9
          ระบบเลขฐานสิบ แต่ละหลักจะมีค่าเวจต์เป็นค่าสิบยกกำลังของหลักนั้น ระบบเลขฐานสองก็เช่นเดียวกัน จะมีฐานของเลขฐานสอง (base 2 system) การหาค่าเวจต์ในแต่ละหลักจะหาได้จากค่ายกกำลังสองของหลักนั้นๆ

ฐานสอง
ฐานสิบ

2^0

1
2^1
2
2^2
4
2^3
8
2^4
16
2^5
32
2^6
64
2^7
128
2^8
256
2^9
512
2^10
1024
ค่าของ2ยกกำลังต่างๆเป็นฐานสิบ

          ถ้าต้องการแปลงเลขฐานสองเป็นเลขฐานสิบก็สามารถทำได้ เช่นถ้าแปลงเลข 101101 เป็นเลขฐานสิบสามารถทำได้ดังนี้
                             (1x2^5)+(0x2^4)+(1x2^3)+(1x2^2)+(0x2^1)+(1x2^0) = 45
                    ตัวเลขฐานสอง 101101 จะมีค่าเท่ากับ 45 ในระบบเลขฐานสิบ
          ระบบเลขฐานสองก็มีทศนิยมเช่นเดียวกับระบบเลขฐานสิบ ซึ่งเรียกว่าไบนารีพอยต์(binary point) โดยจะมีเครื่องหมายจุดแบ่งตัวเลขจำนวนเต็มกับเลขทศนิยมออกจากกัน ค่าเวจต์ของเลขทศนิยมแต่ละหลักจากซายไปขวาจะเป็นดังนี้ 1/2 , 1/4 , 1/8 , 1/16........ไปเรื่อยๆหรืออาจจะเขียนเป็นเลขยกกำลังค่าลบก็ได้

ฐานสอง
ฐานสิบ
2^ -1
0.5
2^ -2
0.25
2^ -3
0.125
2^ -4
0.0652
2^ -5
0.03125
2^ -6
0.015625
ค่าของ2ยกกำลังค่าลบ เป็นเลขฐานสิบ

           ในระบบเลขฐานสิบนั้นแต่ละหลักจะเรียกว่าหลัก แต่ถ้่าเป็นระบบเลขฐานสองแต่ละหลักจะเรียกว่าบิต (bit) คำว่าบิต (bit) ย่อมาจาก binary digit ถ้าในงานดิจิตอลอิเล็กทรอนิกส์ จะพบคำว่า “Bit” บ่อยมาก
          ในแต่ละหลักของเลขฐานสอง หลักซึ่งมีค่าเวจต์ต่ำสุดซึ่งอยู่ทางด้านขวาสุด จะเรียกว่าบิตที่มีความสำคัญต่ำสุด(LSB : Least Significant Bit) สำหรับด้านที่อยู่ซ้ายสุดจะมีค่าเวจต์สูงสุด เรียกว่าบิตที่มีความสำคัญสูงสุด(MSB : Most Significant Bit) ถ้าใช้ในระบบเลขฐานสิบจะเรียกว่า LSD(Least Significant Digit) และ MSD(Most Significant Digit) ในระบบดิจิตอลในบางครั้งเราจะเห็นเขียนว่า MSD , LSD กำกับเอาไว้ด้วย

2. ระบบเลขฐานสิบ (Decimal)
          ระบบเลขฐานสิบ (Decimal) มีตัวเลขที่ไม่ซ้ำกันอยู่ทั้งหมด 10 ตัว คือ   0   1   2   3   4   5   6   7   8   9  หรือเรียกอีกอย่างหนึ่งคือ BCD code อันนี้คงไม่ต้องกล่าวอะไรมากเพราะอยู่ใ้นชีวิตประจำวันอยู่แล้ว

3. ระบบเลขฐานสิบหก (Hexadecimal)
           ระบบเลขฐานสิบหก (Hexadecimal) ฐานของมันจะมีค่าเป็น 16 ซึ่งจะมีตัวเลขที่ไม่ซ้ำกันอยู่ทั้งหมด 16 ตัว คือ 0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F  (ตัวอักษร 6 ตัว แทน ตัวเลข 10 –15 ตามลำดับ)
           ในงานด้านอิเล็กทรอนิกส์และคอมพิวเตอร์ ตัวเลขที่ใช้ในการประมวลผลจะเป็นเลขฐานสอง แต่ถ้าตัวเลขมีค่ามากจะทำให้เลขฐานสองมีหลายหลัก จึงใช้เลขฐานสิบหกแทนเลขฐานสอง แล้วจะมีการแปลงเลขฐานสิบหกเป็นเลขฐานสองอีกทีหนึ่ง เลขฐานสิบหกนั้นจะนิยมใช้มากในคอมพิวเตอร์ ถ้าหากไบนารี่ที่ใ่ช้ในระบบคอมพิวเตอร์เป็นแบบ 8 บิต ซึ่งแทนเลขฐานสิบหกได้ตั้งเเต่ 0 ถึง 255 แต่สามารถแทนด้วยเลขฐานสิบหกเพียงสองหลักเท่านั้น ถ้าหากเรามีเลขฐานสิบ 99,999,999 ถ้าเขียนแทนด้วยเลขไบนารีจะต้องใช้หลายบิต แต่ถ้าเขียนเเทนด้วยเลขฐานสิบหกจะใช้เพียงไม่กี่หลัก
           ค่าสิบหกสามารถแทนได้ด้วยสองยกกำลังสี่ หรือ 16 = 2^4 ดังนั้นเลขฐานสิบหกจึงสามารถเขียนแทนด้วยเลขฐานสองได้สี่บิต โดยมีค่าตั้งแต่ 0000 ถึง 1111 หรือแทนด้วยอักษร 0 ถึง F ความสัมพันธ์ระหว่างเลขฐานสอง ฐานสิบ และฐานสิบหกแสดงใ้ว้ในตารางความสัมพันธ์ของเลข BIN, BCD และ HEX
           การแปลงเลขฐานสองเป็นเลขฐานสิบหกก็สามารถทำได้โดยง่าย โดยจัดเลขฐานสองตั้งแต่บิตแรกจนถึงบิตสุืดท้ายเป็นกลุ่มๆ โดยจัดกลุ่มละ 4 บิตและแทนค่าด้วยเลขฐานสิบหกแต่ละค่าให้สอดคล้องกันตัวอย่างต่อไปนี้จะเป็นการแปลงเลขฐานสองเป็นฐานสิบหก

            —การแปลงเลข 10101011111101 เป็นเลขฐานสิบหกสามารถทำได้โดย การแบ่งกลุ่ม ๆ ละ 4 บิตดังนี้
                              0010     1010     1111     1101
          จะเห็นว่าถ้าแบ่งเป็นกลุ่ม ๆ ละ 4 บิต จะมีสองบิตบนที่จัดกลุ่มไม่ได้ ก็ให้เติม 0 ไปในกลุ่มนั้นให้ครบ 4 บิต จากนั้นแทนค่าตัวเลขแต่ละกลุ่มด้วยเลขฐานสิบหกดังนี้
                                2            A          F          D
ดังนั้นจะได้ 10101011111101 มีค่าเท่ากับ 2AFD

          ให้จำใว้ว่าเลขฐานสิบหกที่เรามองเห็นนั้นเป็นการใช้แทนเลขไบนารีเพราะ CPU ไม่สามารถประมวลผลเลขฐานสิบหกได้