JustMakeWeb.com รับทำเว็บไซต์ รับทำเว็บโรงแรม รับทำเว็บขายของ รับทำเว็บบริษัท เว็บสำเร็จรูป รับทำเว็บร้านค้า ออกแบบเว็บไซต์ ใช้งานได้ง่าย รองรับ SEO โปรโมท GOOGLE ให้ติดอันดับได้อย่างรวดเร็ว , ลงโฆษณาฟรี VPS ราคาถูก
รับทำเว็บไซต์
0

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

2014-09-15 14:11:50 ใน ความรู้ทั่วไป » 0 19632

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

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

                       ระบบเลขฐานสอง (Binary) ประกอบด้วยตัวเลข 0 และ 1
                       ระบบเลขฐานสิบ (Decimal) ประกอบด้วยตัวเลข 0 - 9
                       ระบบเลขฐานสิบหก (Hexadecimal) ประกอบด้วยตัว เลข 0 - 9 และ A - F

ความสัมพันธ์ของเลข 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 ไม่สามารถประมวลผลเลขฐานสิบหกได้
 

ประเภทของข้อมูลเช่น บิต, ไบต์, เวิร์ด

ข้อมูลภายใน PLC จะมีคำจำกัดความที่เรียกกันคือ บิต (BIT), ไบต์ (Byte), เวิร์ด (Word) หลักการเรียกและความหมายของแต่ละคำมีดังนี้

1 Word = 2 Byte
1 Byte = 2 Digit
1 Digit = 4Bit

        เช่น  ข้อมูลขนาด 256 กิโลบิต (kBit) จะสามารถเก็บข้อมูลได้กี่กิโลไบต์ ?
                        8  บิต                 =       1   ไบต์ 
                        256  กิโลบิต      =       (256 x 1000)/8 =  32,000   ไบต์ 
                     
                                                                                   =  32   กิโลไบต์

หน่วยความจำ ขนาด 6 kWords ถ้าจะเปลี่ยนหน่วยเป็น kB. จะได้เท่าไร ?
                        1  Word      =       2  ไบต์ 
                        6  kWord    =       2 x 6 x 1000        =       12,000  ไบต์ 
                                                                               =       12        กิโลไบต์


ขอขอบคุณ

www.star-circuit.com
www.pccpl.ac.th