วันเสาร์ที่ 21 มกราคม พ.ศ. 2555

ระบบตัวเลข (Number System)

ระบบตัวเลข (Number System)
ระบบตัวเลขในแต่ละระบบจะมีจำนวนตัวเลขโดด (Digit) เท่ากับชื่อของระบบตัวเลขฐานนั้น ๆ ได้แก่
ระบบเลขฐานสอง (Binary number system) จะประกอบด้วยเลขโดดพื้นฐานจำนวน 2 ตัว คือ 0 และ 1
ระบบเลขฐานห้า (Quinary number system) จะประกอบด้วยเลขโดดพื้นฐานจำนวน 5 ตัว คือ 0, 1, 2, 3 และ 4 ระบบเลขนี้นิยมแพร่หลายในพวกเอสกิโม (Eskimos) และอินเดียนในอเมริกาเหนือ
ระบบเลขฐานแปด (Octal number system) จะประกอบด้วยเลขโดดพื้นฐานจำนวน 8 ตัว คือ 0, 1, 2, 3, 4, 5, 6 และ 7
ระบบเลขฐานสิบ (Decimal number system) จะประกอบด้วยเลขโดดพื้นฐานจำนวน 10 ตัว คือ 0, 1, 2, 3, 4, 5, 6, 7, 8 และ 9
ระบบเลขฐานสิบสอง (Duodecimal number system) จะประกอบด้วยเลขโดดพื้นฐานจำนวน 12 ตัว คือ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a และ b ซึ่งระบบเลขฐานสิบสองนี้จะเห็นได้จากนาฬิกา นิ้วและฟุต โหลและกุรุส
ระบบเลขฐานสิบหก (Hexadecimal number system) จะประกอบด้วยเลขโดดพื้นฐานจำนวน 16 ตัว คือ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E และ F

          ระบบเลขฐานสิบ
ระบบเลขฐานสิบเป็นระบบเลขพื้นฐานที่เราใช้สื่อความหมายมาโดยตลอด ซึ่งจะประกอบด้วยสัญลักษณ์ที่เป็นเลขโดด (Digit) จำนวน 10 ตัว คือ 0 ถึง 9 ในการเขียนเลขฐานสิบจะกระทำได้โดยการนำเลขโดด 1 ตัวมาเขียน ซึ่งสามารถเขียนค่าต่าง ๆ เรียงตามลำดับของมัน เช่น 0, 1, 2,…, 9 ซึ่งจะเห็นว่าถ้านำเลขโดดเพียง 1 ตัวมาใช้ในการเขียนเพื่อสื่อความหมายนั้น เลข 9 จะเป็นค่าสูงสุดแล้ว ในความเป็นจริงเราจำเป็นต้องใช้มากกว่านั้น นั่นหมายความว่าในการเขียนเลขโดยใช้เลขโดดเพียงตัวเดียวคงไม่เพียงพอ เราจำเป็นต้องนำเลขโดดหลาย ๆ ตัวมาเขียนประกอบกันเป็นค่าตัวเลขที่เราต้องการ เลข 9 ซึ่งเป็นค่าสูงสุด ถ้าเราสังเกตจะเห็นค่าตัวเลขที่เป็นตัวนำอยู่ คือ 0 นั่นเอง เราก็จะเห็นเป็น 09 หมายความว่าถ้าต้องการเพิ่มค่าให้มากกว่านี้อีก 1 ค่า เราจะต้องเปลี่ยนเลขในหลักต่ำสุดคือ เลข 9 ให้เป็นเลข 0 และเปลี่ยนค่าตัวนำให้เพิ่มขึ้นอีก 1 ค่า ซึ่งจะได้เป็น 10, 11, 12, …, 19, 20, 21, 22, …, 29, 30, 31, …, 99, 100, 101, …, 199, 200, 201, 202, …, 999, 1000, 1001, 1002, … (ลองสังเกตการเพิ่มค่าตัวเลขจากหน้าปัทม์บอกจำนวนระยะทางของรถยนต์ )
ตัวเลขโดดในการเขียนตัวเลขใด ๆ อาจจะมีค่าที่แตกต่างกัน เช่น 2000 และ 20 ตัวเลข 2 ของเลข 2 จำนวน จะมีความหมายซึ่งไม่เหมือนกัน หมายความว่าตัวเลขที่ปรากฏ ณ.ตำแหน่งต่าง ๆ จะมีน้ำหนักที่ไม่เหมือนกัน นั่นคือจำนวนเต็มในเลขฐานสิบ N ซึ่งมีตัวเลข n ตัว จะมีค่าเท่ากับผลบวกของสัมประสิทธิ์ตามน้ำหนัก หาได้ดังนี้
N10  =   an-1 (10)n-1 + an-2 (10)n-2 + … + a1 (10)1 + a0 (10)0
                ตัวอย่างเช่น 50891 เราสามารถเขียนในลักษณะของน้ำหนักประจำตำแหน่งได้ดังนี้
                50891    =     5 x 104  + 0 x 103  + 8 x 102  + 9 x 101  + 1 x 100
                ถ้าเป็นจำนวนทศนิยม เลขยกกำลังของฐานจะเริ่มตั้งแต่ –1 เป็นต้นไป
                n10  =   a-1 (10)-1 + a-2 (10)-2 + … + a-(m-1) (10)-m+1 + a-m (10)-m
                ฉะนั้นถ้าเลขนั้น ๆ ประกอบไปด้วยจำนวนเต็มและทศนิยมก็จะได้
N10=an-1(10)n-1+an-2(10)n-2+…+a1(10)1+a0(10)0+a-1(10)-1+a-2(10)-2+…+a-(m-1)(10)-m+1+a-m(10)-m


          ระบบเลขฐานสอง
ระบบเลขฐานสองได้ถูกคิดค้นขึ้นโดยนักคณิตศาสตร์ชาวเยอรมัน ชื่อ “GOTTFRIED WILHELM”  ซึ่งใช้สัญลักษณ์เป็น 0 และ 1 เท่านั้น ทำให้ระบบเลขฐานสองนี้เหมาะสมในการนำมาประยุกต์แทนการอธิบายการทำงานของวงจรอิเล็กทรอนิกส์สวิทชิ่ง โดย ON จะแทน 1 และ OFF จะแทน 0
การนับเลขฐานสอง (Counting in Binary)
การนับเลขฐานสองจะมีหลักการเช่นเดียวกับการนับเลขฐานสิบ คือจะมีตัวนำและตามด้วยเลขพื้นฐาน เช่น

เลขฐานสิบ
เลขฐานสอง
เลขฐานสิบ
เลขฐานสอง
0
0
8
1000
1
1
9
1001
2
10
10
1010
3
11
11
1011
4
100
12
1100
5
101
13
1101
6
110
14
1110
7
111
15
1111

มีข้อสังเกตคือ  เลขฐานสอง 16 ตัวแรก จะเขียนด้วยตัวเลขขนาด 4 หลัก หรือ 4 บิทพอดี (bit ย่อมาจาก binary digit) และความสำคัญของตัวเลข ณ.ตำแหน่งต่าง ๆ ก็จะมีระดับความสำคัญที่แตกต่างกันเช่นเดียวกับเลขฐานสิบ นั่นคือ ตัวเลขที่อยู่ตำแหน่งซ้ายสุดของจำนวนเลขใด ๆ จะเป็นเลขที่มีนัยสำคัญสูงที่สุด (most significant digit (bit) ใช้ตัวย่อว่า msd หรือ msb) ส่วนตัวเลขที่อยู่ตำแหน่งขวาสุดของจำนวนเลขใด ๆ จะเป็นเลขที่มีนัยสำคัญต่ำที่สุด (least significant digit (bit) ใช้ตัวย่อว่า lsd หรือ lsb) และเช่นเดียวกับเลขฐานสิบเราสามาถเขียนเลขฐานสองในลักษณะเทียบค่าน้ำหนักประจำหลักได้เช่นกัน
N2  =   an-1 (2)n-1 + an-2 (2)n-2 + … + a1 (2)1 + a0 (2)0
และในกรณีเป็นทศนิยมจะได้
                n2  =   a-1 (2)-1 + a-2 (2)-2 + … + a-(m-1) (2)-m+1 + a-m (2)-m
                ฉะนั้นถ้าเลขนั้น ๆ ประกอบไปด้วยจำนวนเต็มและทศนิยมก็จะได้
N2  =  an-1 (2)n-1+ an-2 (2)n-2+…+ a1 (2)1+ a0 (2)0+ a-1 (2)-1+ a-2 (2)-2+…+ a-(m-1) (2)-m+1+ a-m (2)-m


          ระบบเลขฐานแปด
ในการทำงานจริงของอิเล็กทรอนิกส์สวิทชิ่งนั้น เราสามารถแทนได้ด้วยเลขฐานสองก็จริง แต่ถ้าหากมีการบอกรายละเอียดเป็นขนาดจำนวนบิตต่าง ๆ ค่อนข้างมาก จะทำให้ไม่สะดวกนั้นในการที่จะใช้เลขฐานสองในการสื่อความหมาย ข้อเสียนี้ของเลขฐานสองทำให้เราจำเป็นต้องหาระบบเลขอื่น ๆ มาใช้แทน ซึ่งเลขฐานแปดเป็นระบบเลขระบบหนึ่งที่สามารถนำมาใช้แทนได้เป็นอย่างดี เนื่องจากสัญลักษณ์พื้นฐานของเลขฐานแปดประกอบไปด้วยค่าต่ำสุดคือ 0 และค่าสูงสุด คือ 7 ซึ่งสอดคล้องกับ ค่าต่ำสุดของเลขฐานสองจำนวน 3 บิต คือ 000 และค่าสูงสุดคือ 111 พอดี ทำให้เราสามารถเปลี่ยนระหว่างเลขฐานสองและเลขฐานแปดได้สะดวก
การนับจะนวนของระบบเลขฐานแปดก็จะมีลักษณะเดียวกับเลขฐานสองและฐานสิบคือจะต้องประกอบด้วยตัวนำ และตามด้วยตัวเลขพื้นฐาน

เลขฐานสิบ
เลขฐานแปด
เลขฐานสิบ
เลขฐานแปด
0
0
8
10
1
1
9
11
2
2
10
12
3
3
11
13
4
4
12
14
5
5
13
15
6
6
14
16
7
7
15
17


ซึ่งเขียนตามน้ำหนักประจำหลักจะได้
N8  =   an-1 (8)n-1 + an-2 (8)n-2 + … + a1 (8)1 + a0 (8)0
และในกรณีเป็นทศนิยมจะได้
                n8  =   a-1 (8)-1 + a-2 (8)-2 + … + a-(m-1) (8)-m+1 + a-m (8)-m
                ฉะนั้นถ้าเลขนั้น ๆ ประกอบไปด้วยจำนวนเต็มและทศนิยมก็จะได้
N8  =  an-1 (8)n-1+ an-2 (8)n-2+…+ a1 (8)1+ a0 (8)0+ a-1 (8)-1+ a-2 (8)-2+…+ a-(m-1) (8)-m+1+ a-m (8)-m

          ระบบเลขฐานสิบหก
ระบบเลขฐานสิบหกมีลักษณะคล้ายเลขฐานแปด โดยค่าต่ำสุดของเลขฐานสิบหก คือ 0 จะมีค่าเท่ากับค่าต่ำสุดของเลขฐานสอง 4 บิต คือ 0000 และโดยค่าสูงสุดของเลขฐานสิบหก คือ F จะมีค่าเท่ากับค่าสูงสุดของเลขฐานสอง 4 บิต คือ 1111 ทำให้ระบบเลขฐานสิบหกจึงเป็นอีกระบบหนึ่งที่นิยมใช้แทนการกล่าวถึงเลขฐานสอง และปัจจุบันจะเป็นที่นิยมใช้เลขฐานสิบหกมากกว่าเลขฐานแปด

เลขฐานสิบ
เลขฐานสิบหก
เลขฐานสิบ
เลขฐานสิบหก
0
0
8
8
1
1
9
9
2
2
10
A
3
3
11
B
4
4
12
C
5
5
13
D
6
6
14
E
7
7
15
F


เลขฐานสิบหก N16 ซึ่งมีจำนวนเต็ม n หลัก จำนวนทศนิยม m หลัก จะมีค่าดังสมการ
N16  =  an-1(16)n-1+an-2(16)n-2+…+a1(16)1+a0(16)0+a-1(16)-1+a-2(16)-2+…+ a-(m-1)(16)-m+1+ a-m(8)-m

          การแปลงเลขฐานสอง เลขฐานแปดและเลขฐานสิบหก ให้เป็น
เลขฐานสิบ
                เนื่องจากมนุษย์มีความคุ้นเคยกับเลขฐานสิบสามารถเข้าใจเมื่อได้มีการสื่อความหมายด้วยเลขฐานสิบจึงทำให้เราต้องศึกษาวิธีการเปลี่ยนหรือแปลงค่าเลขฐานต่าง ๆ ให้เป็นเลขฐานสิบ เพื่อความเข้าใจได้มากขึ้น ซึ่งเราอาศัยหลักการเปลี่ยนเป็นเลขฐานสิบจากเลขฐานต่าง ๆ ได้ไม่ยากนัก สามารถแปลงเขฐานต่าง ๆ เป็นเลขฐานสิบได้โดยการนำเลขแต่ละตำแหน่งของฐานนั้น ๆ ไปคูณด้วยน้ำหนัก (Weighting) หรือค่าประจำหลักของเลขฐานนั้น ๆ แล้วนำมาบวกกัน เราก็จะได้ค่าออกมาเป็นเลขฐานสิบนั่นเอง

ตัวอย่างที่ 1.1       จงแปลงเลขฐานสอง 1101101 ให้เป็นเลขฐานสิบ
วิธีทำ     
             11011012       =    (1´26) + (1´25) + (0´24) + (1´23) + (1´22) + (0´21) + (1´20)
                      =    64   +   32   +   0   +   8   +   4   +   0   +   1
                      =    10910
               
ตัวอย่างที่ 1.2       จงแปลงเลขฐานสอง 0.1011 ให้เป็นเลขฐานสิบ
วิธีทำ     
             0.1011 2         =    (1´2-1) + (0´2-2) + (1´2-3) + (1´2-4)
                                      =    1´0.5  +  0´0.25  +  1´0.125  +  1´0.0625
                                      =    0.5   +   0   +   0.125   +   0.0625
                      =    0.687510

ตัวอย่างที่ 1.3       จงแปลงเลขฐานสอง 11101.011 ให้เป็นเลขฐานสิบ
วิธีทำ     
             11101.011 2 =    (1´24) + (1´23) + (1´22) + (0´21) + (1´20) + (0´2-1)+ (1´2-2)+ (1´2-3)
                                      =    1´16  +  1´8  +  1´4  +  0´2  +  1´1  +  0´0.5  +  1´0.25  +  1´0.125                                  =             16  +  8  +  4  +  0  +  1  +  0  +  0.25  +  0.125
                                      =    29.37510

ตัวอย่างที่ 1.4       จงแปลงเลขฐานแปด 2374 ให้เป็นเลขฐานสิบ
วิธีทำ     
             23748              =    (2´83) + (3´82) + (7´81) + (4´80)
                                      =    2´512  + 3´64  + 7´8  +  4´1 
                                      =    1024  +  192  +  56  +  4
                                      =    127610

ตัวอย่างที่ 1.5       จงแปลงเลขฐานแปด 0.325 ให้เป็นเลขฐานสิบ
วิธีทำ     
             0.3258             =    (3´8-1) + (2´8-2) + (5´8-3)
                                      =    3´0.125 + 2´0.015625 + 5´0.001953
                                      =    0.375  +  0.3125  +  0.009765 
                                      =    0.41601510




ตัวอย่างที่ 1.6       จงแปลงเลขฐานสิบหก E5 ให้เป็นเลขฐานสิบ
วิธีทำ     
             E516                 =    (E´161) + (5´160)
                                      =    14´16  + 5´1 
                                      =    224  +  5 
                                      =    22910

ตัวอย่างที่ 1.7       จงแปลงเลขฐานสิบหก B2F8 ให้เป็นเลขฐานสิบ
วิธีทำ     
             B2F816            =    (B´163) + (2´162) + (F´161) + (8´160)
                                      =    11´4096 + 2´256 + 15´16 + 8´1
                                      =    45056  +  512 + 240 + 8 
                                      =    4581610