ระบบตัวเลขที่เราได้ใช้กันมาตลอดตั้งแต่ที่เราจำความกันได้นั้น จะประกอบไปด้วยเลข 10ตัว คือ เลข 0,1,2,3,4,5,6,7,8,9 ซึ่งมนุษย์เราได้ใช้ระบบการนับเหล่านี้มาใช้ในการสื่อสาร บอกปริมาณ ขนาด ทำให้ทุกคนสามารถมีความเข้าใจตรงกันในการสื่อความหมาย ซึ่งระบบเลขนี้คือระบบเลขฐานสิบนั่นเอง
แต่ในปัจจุบัน ความก้าวหน้าทางเทคโนโลยี โดยเฉพาะทางคอมพิวเตอร์ได้ถูกพัฒนามาเป็นอย่างมาก ซึ่งหลักการทำงานของคอมพิวเตอร์นั้น จะมีลักษณะการทำงานภายในเพียง 2 จังหวะเท่านั้น คือ ON และ OFF ในลักษณะของวงจรสวิทชิ่งนั้นเอง จากลักษณะการทำงานของสวิทชิ่งนั้น เราสามารถนำระบบเลขฐานสองมาประยุกต์ใช้ในการสื่อความหมายแทนคำว่า ON และ OFF ของวงจรสวิทชิ่ง เนื่องจากเลขฐานสองจำนวนหลาย ๆ หลัก เมื่อนำมาสื่อความหมายแล้วจะทำให้เกิดความสับสนในการสื่อความซึ่งกันและกัน จึงเป็นการไม่สะดวกนักในการใช้เลขฐานสองเพียงอย่างเดียว เราจึงจำเป็นที่จะต้องศึกษาระบบเลขฐานอื่น ๆ ซึ่งมีความสะดวกในการสื่อความหมายและจะต้องมีความสะดวกในการแปลงค่ากับเลขฐานสอง ระบบเลขที่เรานิยมนำมาใช้คือระบบเลขฐานแปดและฐานสิบหกนั่นเอง
ระบบตัวเลข (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 จงแปลงเลขฐานสอง 1101101 ให้เป็นเลขฐานสิบ
วิธีทำ
11011012 = (1´26) + (1´25) + (0´24) + (1´23) + (1´22) + (0´21) + (1´20)
= 64 + 32 + 0 + 8 + 4 + 0 + 1
= 10910
ตัวอย่างที่ 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
ตัวอย่างที่ 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
ตัวอย่างที่ 4 จงแปลงเลขฐานแปด 2374 ให้เป็นเลขฐานสิบ
วิธีทำ
23748 = (2´83) + (3´82) + (7´81) + (4´80)
= 2´512 + 3´64 + 7´8 + 4´1
= 1024 + 192 + 56 + 4
= 127610
ตัวอย่างที่ 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
วิธีทำ
E516 = (E´161) + (5´160)
= 14´16 + 5´1
= 224 + 5
= 22910
ตัวอย่างที่ 7 จงแปลงเลขฐานสิบหก B2F8 ให้เป็นเลขฐานสิบ
วิธีทำ
B2F816 = (B´163) + (2´162) + (F´161) + (8´160)
= 11´4096 + 2´256 + 15´16 + 8´1
= 45056 + 512 + 240 + 8
= 4581610
เลขฐานสิบหก
การแปลงเลขฐานสิบให้เป็นเลขฐานใด ๆ ก็ตาม จะมีวิธีการคิดเช่นเดียวกัน โดยการแบ่งลักษณะการแปลงได้ 2 กรณี คือ
1. กรณีเลขฐานสิบที่ต้องการแปลงเป็นเลขจำนวนเต็ม เราทำการแปลงให้เป็นฐานใด ๆ ได้โดยการนำเลขจำนวนเต็มฐานสิบนั้น ๆ มาหารด้วยเลขฐานที่ต้องการเปลี่ยน โดยเก็บเศษที่เหลือจากการหารเอาไว้ จากนั้นนำคำตอบที่เหลือจากการหารนำไปหารกับเลขฐานที่ต้องการแปลงและเก็บเศษจากการหารเอาไว้อีก กระทำอย่างนี้ซ้ำ ๆ จนกระทั่งไม่สามารถนำคำตอบที่เหลือจากการหารไปหารได้อีก เศษที่เหลือจากการหารในแต่ละครั้งนำมาเขียนรวมกันก็จะเป็นผลลัพธ์ของเลขฐานที่ต้องการเปลี่ยน โดยเศษที่เหลื่อจากการหารในครั้งแรกสุด จะเป็นตัวที่มีนัยสำคัญน้อยที่สุด (Least significant digit หรือ LSD) ส่วนเศษที่เหลือจากการหารในครั้งสุดท้ายจะเป็นตัวที่มีนัยสำคัญสูงที่สุด(Most significant digit หรือ MSD)
วิธีทำ เศษ
25 ¸ 2 = 12 1 (LSD หรือ LSB)
12 ¸ 2 = 6 0
6 ¸ 2 = 3 0
3 ¸ 2 = 1 1
1 ¸ 2 = 0 1 (MSD หรือ MSB)
\ 2510 = 110012
2. กรณีเลขฐานสิบที่ต้องการแปลงเป็นเลขเศษส่วน(เลขทศนิยม) ซึ่งไม่ใช่จำนวนเต็มเราทำการแปลงให้เป็นฐานใด ๆ ได้ โดยการนำเลขฐานสิบนั้น ๆ คูณด้วยเลขฐานที่จะเปลี่ยนแล้วเก็บค่าผลลัพธ์ที่ได้จากการคูณเฉพาะเลขจำนวนเต็มที่อยู่หน้าจุดทศนิยม จากนั้นนำคำตอบที่ได้จากการคูณในครั้งแรกเฉพาะเลขทศนิยมเท่านั้นมาทำการคูณกับเลขฐานที่ต้องการเปลี่ยนอีกแล้วเก็บค่าผลลัพธ์ที่ได้จากการคูณเฉพาะเลขจำนวนเต็มที่อยู่หน้าจุดทศนิยมอีกครั้ง กระทำอย่านี้ซ้ำ ๆ จนกระทั่งได้คำตอบที่เราเห็นว่าเหมาะสม แล้วจึงนำค่าที่เราเก็บไว้มาเขียนเป็นเลขฐานที่เราต้องการซึ่งจะเป็นทศนิยม โดยค่าจำนวนเต็มที่ได้จากการเก็บในครั้งแรกจะเป็น MSD
ตัวอย่างที่ 8 จงแปลง 0.312510 ให้เป็นเลขฐานสอง
วิธีทำ จำนวนเต็มที่เก็บ
0.3125 ´ 2 = 0.625 0 (MSD หรือ MSB)
0.625 ´ 2 = 1.25 1
0.25 ´ 2 = 0.50 0
0.50 ´ 2 = 1.00 1
\ 0.312510 = 0.01012
กรณีเลขฐานสิบที่ต้องการแปลงเป็นเลขฐานอื่น ๆ เป็นเลขที่ผสมระหว่างเลขจำนวนเต็มและเลขทศนิยม (เลขจำนวนจริง) ก็ให้ทำการแยกแปลง 2 ครั้ง โดยแยกแปลงแบบหารสำหรับจำนวนเต็ม และ คูณสำหรับทศนิยม แล้วนำคำตอบมารวมกัน
ตัวอย่างที่ 9 จงแปลง 18.62510 ให้เป็นเลขฐานสอง
วิธีทำ แยกคิด 2 ครั้ง คือ 1810 และ 0.62510
ก) แปลง 1810 ให้เป็นฐานสอง
เศษ
18 ¸ 2 = 9 0 (LSD หรือ LSB)
9 ¸ 2 = 4 1
4 ¸ 2 = 2 0
2 ¸ 2 = 1 0
1 ¸ 2 = 0 1 (MSD หรือ MSB)
\ 1810 = 100102
ข) แปลง 0.62510 ให้เป็นฐานสอง
จำนวนเต็มที่เก็บ
0.625 ´ 2 = 1.250 1 (MSD หรือ MSB)
0.250 ´ 2 = 0.500 0
0.5 ´ 2 = 1.0 1
0.0 ´ 2 = 0 0
\ 0.62510 = 0.1012
\ 18.62510 = 10010.1012
ตัวอย่างที่ 10 จงแปลง 359.2810 ให้เป็นเลขฐานแปด
วิธีทำ แยกคิด 2 ครั้ง คือ 35910 และ 0.2810
ก) แปลง 35910 ให้เป็นฐานแปด
เศษ
359 ¸ 8 = 44 7 (LSD)
44 ¸ 8 = 5 4
5 ¸ 8 = 0 5 (MSD)
\ 35910 = 5478
ข) แปลง 0.2810 ให้เป็นฐานแปด
จำนวนเต็มที่เก็บ
0.28 ´ 8 = 2.24 2 (MSD)
0.24 ´ 8 = 1.92 1
0.92 ´ 8 = 7.36 7
0.36 ´ 8 = 2.88 2
0.88 ´ 8 = 7.04 7
\ 0.2810 = 0.217278
\ 359.2810 = 547.217278
ตัวอย่างที่ 11 จงแปลง 650.0510 ให้เป็นเลขฐานสิบหก
วิธีทำ แยกคิด 2 ครั้ง คือ 65010 และ 0.0510
ก) แปลง 65010 ให้เป็นฐานสิบหก
เศษ
650 ¸ 16 = 40 10 คือ A (LSD)
40 ¸ 16 = 2 8
2 ¸ 16 = 0 2 (MSD)
\ 65010 = 28A16
ข) แปลง 0.0510 ให้เป็นฐานสิบหก
จำนวนเต็มที่เก็บ
0.05 ´ 16 = 0.80 0 (MSD)
0.80 ´ 16 = 1.28 1
0.28 ´ 16 = 3.48 3
0.48 ´ 16 = 7.68 7
0.68 ´ 16 = 10.88 10 คือ A
\ 0.0510 = 0.0137A16
\ 650.0510 = 28A.0137A16
การแปลงระหว่างเลขฐานแปดกับเลขฐานสอง
จากหัวข้อที่เราได้ศึกษามาแล้ว ถ้าเราต้องการที่จะแปลงเลขระหว่างเลขฐานแปดกับเลขฐานสองนั้น เราจะกระทำได้โดยแปลงเลขฐานที่ต้องการแปลงให้เป็นเลขฐานสิบก่อนจากนั้นจึงค่อยแปลงจากเลขฐานสิบไปเป็นเลขฐานที่ต้องการ ซึ่งจะเห็นว่ามีวิธีการที่ยุ่งยากเสียเวลามาก ถ้าเราสังเกตจากตารางดังต่อไปนี้ ซึ่งเทียบค่าระหว่างเลขฐานสองกับเลขฐานแปดจะเห็นว่า ความสัมพันธ์ของเลขฐานแปดที่เป็นเลขพื้นฐาน 1 ตัว สามารถแทนด้วยเลขฐานสองขนาด 3 bit พอดี
เลขฐานสิบ | เลขฐานสอง | เลขฐานแปด |
0 | 000 | 0 |
1 | 001 | 1 |
2 | 010 | 2 |
3 | 011 | 3 |
4 | 100 | 4 |
5 | 101 | 5 |
6 | 110 | 6 |
7 | 111 | 7 |
ดังนั้นในการแปลงระหว่างเลขฐานสองกับเลขฐานแปดเราสามารถกระทำได้โดยการจับกลุ่มของเลขฐานสอง 3 bit ต่อเลขฐานแปด 1 หลัก โดยเทียบค่ากัน ตัวต่อตัว
ตัวอย่างที่ 12 จงแปลงเลขฐานแปดต่อไปนี้เป็นเลขฐานสอง
ก) 478
ข) 7528
ค) 37.128
วิธีทำ
ก) 478 = 100 1112
ข) 7528 = 111 101 0102
ค) 37.128 = 011 111 . 001 0102
ตัวอย่างที่ 13 จงแปลงเลขฐานสองต่อไปนี้เป็นเลขฐานแปด
ก) 1011110012
ข) 10111001102
ค) 1001101.10112
วิธีทำ
ก) 101 111 0012 = 5 7 18
ข) 001 011 100 1102 = 1 3 4 68
ค) 001 001 101 . 101 1002 = 1 1 5 . 5 48
การแปลงระหว่างเลขฐานสิบหกกับเลขฐานสอง
ในลักษณะเดียวกัน ถ้าเราต้องการที่จะแปลงเลขระหว่างเลขฐานสิบหกกับเลขฐานสองนั้น เราจะกระทำได้โดยแปลงเลขฐานที่ต้องการแปลงให้เป็นเลขฐานสิบก่อนจากนั้นจึงค่อยแปลงจากเลขฐานสิบไปเป็นเลขฐานที่ต้องการ ซึ่งจะเห็นว่ามีวิธีการที่ยุ่งยากเสียเวลามากเช่นเดียวกัน ถ้าเราสังเกตจากตารางดังต่อไปนี้ ซึ่งเทียบค่าระหว่างเลขฐานสองกับเลขฐานสิบหกก็จะเห็นเช่นกันว่า ความสัมพันธ์ของเลขฐานสิบหกที่เป็นเลขพื้นฐาน 1 ตัว สามารถแทนด้วยเลขฐานสองขนาด 4 bit พอดี
เลขฐานสิบ | เลขฐานสอง | เลขฐานสิบหก |
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
ดังนั้นในการแปลงระหว่างเลขฐานสองกับเลขฐานสิบหกเราสามารถกระทำได้โดยการจับกลุ่มของเลขฐานสอง 4 bit ต่อเลขฐานสิบหก 1 หลัก โดยเทียบค่ากัน ตัวต่อตัวเช่นเดียวกับฐานแปด
ตัวอย่างที่ 14 จงแปลงเลขฐานสิบหกต่อไปนี้เป็นเลขฐานสอง
ก) CF3716
ข) 975216
ค) D27.8216
วิธีทำ
ก) CF3716 = 1100 1111 0011 01112
ข) 975216 = 1001 0111 0101 00102
ค) D27.8216 = 1101 0010 0111 . 1000 00102
ตัวอย่างที่ 15 จงแปลงเลขฐานสองต่อไปนี้เป็นเลขฐานสิบหก
ก) 1011101110012
ข) 10111001111102
ค) 100111101.1100112
วิธีทำ
ก) 1011 1011 10012 = B B 916
ข) 0001 0111 0011 11102 = 1 7 3 E16
ค) 0001 0011 1101 . 1100 11002 = 1 3 D . C C16
การบวกเลขฐานสอง มีวิธีการคล้ายคลึงกับการบวกเลขฐานสิบแต่จะมีหลักเกณฑ์ที่ง่ายกว่า ดังนี้
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 ทดไปหลักต่อไปอีก 1
ตัวอย่างที่ 16
ก) 1002 410
+102 +210
1102 610
ข) 11112 1510
+11002 +1210
110112 2710
ค) 101.112
+ 11.012
1001.002
การบวกเลขฐานแปด มีวิธีการบวกคล้ายคลึงกับการบวกเลขฐานสิบเช่นเดียวกัน ซึ่งมีตารางการบวก ดังนี้
ตารางการบวกเลขฐานแปด
+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 |
2 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 |
3 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 |
4 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 |
5 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 |
6 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 |
7 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
ตัวอย่างที่ 17 จงบวกเลขฐานแปดต่อไปนี้
ก) 758 + 338
ข) 35278 + 6748
วิธีทำ
ก) 758
+338
1308
ข) 35278
+ 6748
44238
การบวกเลขฐานสิบหก มีวิธีการบวกคล้ายคลึงกับการบวกเลขฐานสิบเช่นเดียวกัน ซึ่งในขั้นแรกหากยังไม่มีความชำนาญในการบวกเลขฐานแปดและฐานสิบหกก็อาจจำเป็นต้องใช้ตารางการบวกช่วยได้ ดังนี้
ตารางการบวกเลขฐานสิบหก
+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 |
2 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 |
3 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 |
4 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 |
5 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 |
6 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 |
7 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
8 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
9 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
A | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
B | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A |
C | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B |
D | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C |
E | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D |
F | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E |
ตัวอย่างที่ 18 จงบวกเลขฐานสิบหกต่อไปนี้
1A816 + 67B16
วิธีทำ คอลัมน์ 3 2 1
1 A 8
+ 6 7 B
8 2 3
วิธีคิด
คอลัมน์ 1 :
8 + B = 810 + 1110
= 1910
= 16 + 3
= 1316 ผลบวกคือ 3, ตัวทดคือ 1
คอลัมน์ 2 :
1 + A + 7 = 1 + 1010 + 710
= 1810
= 16 + 2
= 1216 ผลบวกคือ 2, ตัวทดคือ 1
คอลัมน์ 3 :
1 + 1 + 6 = 810
= 816 ผลบวกคือ 8, ไม่มีตัวทด
การลบเลขฐานสอง การลบเลขฐานสองก็จะมีลักษณะคล้ายกับการลบเลขฐานสิบโดยทั่วไป นั่นคือกรณีตัวตั้งมีค่ามากกว่าตัวลบ เราก็สามารถลบกันได้ทันที แต่หากตัวตั้งมีค่าน้อยกว่าตัวลบเราก็จำเป็นต้องยืมตัวถัดไปมา 1 ดังเช่นเลขฐานสิบ ซึ่งการลบเลขฐานสองมีตารางการลบดังนี้
0 - 0 = 0 ตัวยืม 0
0 - 1 = -1 ตัวยืม 1
1 - 0 = 1 ตัวยืม 0
1 - 1 = 0 ตัวยืม 0
ตัวอย่างที่ 19 จงลบเลขฐานสองต่อไปนี้
1012 - 0112
วิธีทำ 1 0 12 510
- 0 1 12 - 310
0 1 02 210
การลบเลขฐานแปดและฐานสิบหก การลบเลขฐานแปดและเลขฐานสิบหกจะมีหลักการเหมือนกับเลขฐานสองและเลขฐานสิบ แต่ดูเหมือนว่าเราจะไม่มีควสมคุ้นเคยนักในการหักลบเลขหรือยืมค่าระหว่างหลักต่าง ๆ กัน ฉะนั้นหากยังไม่มีความชำนาญในการลบเลข ในระยะแรกเราสามารถ ใช้ตารางบวกเลขฐานแปดหรือตารางบวกเลขฐานสิบหก ช่วยในการหาผลลบได้ โดยดูว่าตัวตั้งหรือตัวลบเลขจำนวนใดมีค่าน้อยกว่า เปรียบเทียบทีละหลักเริ่มจาหลักที่มีนัยสำคัญน้อยที่สุด (LSD) นำเลขจำนวนที่น้อยกว่ามาไล่ตามคอลัมน์ริมซ้ายสุด เมื่อพบเลขตัวนี้แล้ว ก็ให้กวาดไปตามแนวนอนจนพบตัวเลขอีกตัวที่มากกว่า ผลลบของเลขสองจำนวนนี้คือ ตัวเลขบนสุดที่ตรงกับเลขในแถวนี้ เช่น 78 - 48 กระทำโดยใช้ 4 ซึ่งเป็นจำนวนที่น้อยกว่านำมาไล่ที่คอลัมน์ริมซ้ายมือสุด เมื่อพบแล้วจึงกวาดมาตามแนวนอนทางขวามือจนพบเลข 7 มองขึ้นด้านบนสุดจะพบเลข 3 ซึ่งจะเป็นคำตอบที่เป็นผลลบของเลขสองจำนวนนี้
การคูณเลขฐานต่าง ๆ
การคูณเลขฐานต่าง ๆ จะมีหลักการคูณที่เหมือนกับการคูณเลขฐานสิบ สำหรับการคูณเลขฐานสองนั้น ดูเหมือนว่าจะมีความง่ายเป็นอย่างมากในการคูณ เนื่องจาก 0 คูณอะไรก็จะได้ 0 ส่วน 1 นำไปคูณอะไร ก็จะได้ตัวตั้งนั้น และเนื่องจากว่าในการแปลงค่าระหว่างเลขฐานสองกับเลขฐานแปดและเลขฐานสิบหกนั้นมีความยุ่งยากน้อยมาก ทำให้ในการทำการบวก ลบ คูณ หาร ของเลขฐานแปดและเลขฐานสิบหก เราจึงนิยมเปลี่ยนเป็นเลขฐานสองก่อนแล้วจึงหาคำตอบ เสร็จแล้วจึงเปลี่ยนกลับเป็นเลขฐานแปดหรือเลขฐานสิบหกตามที่ต้องการ
ตารางการคูณเลขฐานสอง
´ | 0 | 1 |
0 | 0 | 0 |
1 | 0 | 1 |
ตัวอย่างที่ 20 จงคูณ 10112 ด้วย 10012
วิธีทำ 10112
´10012
10112
00002
00002
10112
11000112
การหารเลขฐานต่าง ๆ
การหารเลขฐานต่าง ๆ เราสามารถนำเอาตารางการคูณเลขฐานนั้น ๆ และนำความรู้จากเลขฐานสิบมาใช้ โดยจะหารเลขฐานสองจะเป็นการสะดวกที่สุด
ตัวอย่างที่ 21 จงคูณ 11002 ด้วย 1002
วิธีทำ 112
100 )1011
100
100
100
000
คอมพลีเมนต์ (Complement)
ระบบเลขที่ใช้กันใน Computer จะเป็นเลข Binary ดังนั้นหากต้องการบวกและลบเลขจึงจำเป็นต้องมีทั้งวงจรบวกเลขและลบเลข จึงทำให้เกิดความยุ่งยากมาก อีกทั้งหากผลลัพธ์เกิดค่าที่ติดลบจะเกิดปัญหาว่าจะแสดงเครื่องหมายอย่างไร ดังนั้น ในระบบ Computer จะมีการนำ Complement มาใช้ในการลบเลขแต่จะใช้วิธีการบวกกับ Complement ของตัวลบ ซึ่งจะได้ผลลบ และหากผลลัพธ์เกิดมีค่าติดลบ ก็จะแสดงค่าผลลัพธ์เป็นเลข Complement
การคอมพลีเมนต์เลขฐานสอง ในระบบเลข Binary จะมี Complement อยู่ 2 อย่าง คือ
1’s complement คือการกลับสถานะของสัญญาณ จาก 0 เป็น 1 และจาก 1 เป็น 0 ทุก ๆ บิต เช่น 1’s complement ของ 1100011 คือ 0011100
2’s complement คือผลบวกของ 1’s complement กับ เช่น 2’s complement ของ 1100011 คือ 0011100 + 1 = 0011101 ซึ่งมีวิธีคิดแบบลัดคือ ให้มองจากบิตต่ำสุด(ขวาสุด) ไปยังบิตสูงสุด(ซ้ายสุด) หา 1 ตัวแรกให้พบ หากยังไม่พบ ให้คงค่าเดิมเอาไว้ จนกระทั้งพบ 1 ตัวแรกก็ยังคง 1 ไว้ หลังจากนั้นให้เปลี่ยนค่าที่เหลือ จาก0 เป็น 1 และ จาก 1 เป็น 0 ทั้งหมด
ตัวอย่างที่ 22
Binary Number 1’s complement 2’s complement
10101 01010 01011
10111 01000 01001
111100 000011 000100
11011011 00100100 00100101
การคอมพลีเมนต์เลขฐานสิบ ในระบบเลขฐานสิบจะมี Complement อยู่ 2 อย่าง เช่นกันคือ
9’s complement คือการนำเลขฐานสิบในหลักต่าง ๆ แต่ละหลักมาลบกับ 9 เช่น 9’s complement ของ 115 คือ 999 – 115 = 884
10’s complement คือ การนำ 9’s complement มาบวกกับ 1 เช่น 10’s complement ของ 115 คือ 999 – 115 + 1 = 885
การคอมพลีเมนต์เลขฐานแปด ในระบบเลขฐานแปดจะมี Complement อยู่ 2 อย่าง เช่นกันคือ
7’s complement คือการนำเลขฐานแปดในหลักต่าง ๆ แต่ละหลักมาลบกับค่าสูงสุดคือ 7 เช่น 7’s complement ของ 115 คือ 777 – 115 = 662
8’s complement คือ การนำ 7’s complement มาบวกกับ 1 เช่น 8’s complement ของ 115 คือ 777 – 115 + 1 = 663
การคอมพลีเมนต์เลขฐานสิบหก ในระบบเลขฐานสิบหกจะมี Complement อยู่ 2 อย่าง เช่นกันคือ
15’s complement คือการนำเลขฐานสิบหกในหลักต่าง ๆ แต่ละหลักมาลบกับค่าสูงสุดคือ F เช่น 15’s complement ของ 115 คือ FFF – 115 = EEA
16’s complement คือ การนำ 15’s complement มาบวกกับ 1 เช่น 16’s complement ของ 115 คือ FFF – 115 + 1 = EEB
จะเห็นว่าทุก ๆ ฐาน จะมีคอมพลีเมนต์ของแต่ละฐานอยู่ 2 ชนิด คือคอมพลีเมนต์ฐาน (radix complement or r’s complement) เช่น คอมพลีเมนต์ของ 2 (2 r’s complement) ซึ่งเป็นของระบบเลขฐานสอง หรือ คอมพลีเมนต์ของ 10 (10 r’s complement) ซึ่งเป็นของระบบเลขฐานสิบ
ส่วนคอมพลีเมนต์อีกชนิดหนึ่งคือ คอมพลีเมนต์ฐานลบหนึ่ง (radix-minus-one complement หรือ diminished radix complement or (r-1)’s complement) เช่น คอมพลีเมนต์ของ 1 (1 r’s complement) ซึ่งเป็นของระบบเลขฐานสอง หรือ คอมพลีเมนต์ของ 9 (9 r’s complement) ซึ่งเป็นของระบบเลขฐานสิบ
การลบเลขโดยใช้คอมพลีเมนต์ฐาน
จากประโยชน์ของเลขคอมพลีเมนต์ที่ใช้ในการหาผลลบของระบบเลขโดยใช้การบวกและสามารถแสดงค่าที่ติดลบได้นั้น ทำให้ในระบบ computer นิยมนำ complement ใช้ในการลบเลข ซึ่งหากใช้คอมพลีเมนต์ฐานในการลบเลขมีวิธีการคิดดังนี้
1) หาคอมพลีเมนต์ฐานของตัวลบ ถ้าตัวลบมีจำนวนหลักน้อยกว่าตัวตั้ง ก็ต้องทำจำนวนหลักของตัวลบให้มีจำนวนหลักเท่ากับตัวตั้งก่อนแล้วจึงหาค่อยคอมพลีเมนต์ฐาน
2) นำตัวตั้งมาบวกกับคอมพลีเมนต์ฐานของตัวลบที่หาได้จากข้อ 1)
3) ตรวจสอบผลลัพธ์ที่ได้จากการบวกในข้อ 2) ว่ามีตัวทดสุดท้าย (End around carry)หรือไม่
- ถ้ามี End around carry ให้ตัดทิ้ง ที่เหลือจะได้ค่าผลลัพธ์ที่ได้จากการลบ โดยมีค่าเป็นบวก
- ถ้าไม่มี End around carry ก็ให้หาคอมพลีเมนต์ฐานของผลลัพธ์ที่ได้ ซึ่งจะได้ผลลัพธ์ที่ได้จาการลบตามต้องการ แต่มีค่าเป็นลบ
ตัวอย่างที่ 23 จงลบเลขฐานสองต่อไปนี้ โดยใช้ 2’s complement
ก) 1100 – 1011
ข) 10011 – 11100
วิธีทำ ก) ลบแบบธรรมดา ลบโดยใช้ 2’s complement
1100 1100
- 1011 2’s complement + 0101
0001 มี End around carry ให้ตัดทิ้ง 1 0001
ผลลบ คือ 0001
ข) ลบแบบธรรมดา ลบโดยใช้ 2’s complement
10011 10011
- 11100 2’s complement + 00100
- 01001 ไม่มี End around carry 10111
ผลลบ คือ –( 2’s complement ของ 10111) = -01001
ตัวอย่างที่ 24 จงลบเลขฐานสิบต่อไปนี้ โดยใช้ 10’s complement
ก) 196 – 155
ข) 3250 – 72532
วิธีทำ ก) ลบแบบธรรมดา ลบโดยใช้ 10’s complement
196 196
- 155 10’s complement + 845
41 มี End around carry ให้ตัดทิ้ง 1 041
ผลลบ คือ 41
ข) ลบแบบธรรมดา ลบโดยใช้ 10’s complement
3250 3250
- 75232 10’s complement + 27468
- 69282 ไม่มี End around carry 30718
ผลลบ คือ –( 10’s complement ของ 30718) = -69282
การลบเลขโดยใช้คอมพลีเมนต์ฐานลบหนึ่ง
การใช้คอมพลีเมนต์ฐานลบหนึ่งในการหาผลลบของระบบเลขโดยใช้การบวกจะมีวิธีการที่เหมือนกับการลบโดยใช้คอมพลีเมนต์ฐานแต่ต่างกันตรงการพิจารณาตัวทดสุดท้าย (End around carry) ซึ่งหากใช้คอมพลีเมนต์ฐานลบหนึ่งในการลบเลขมีวิธีการคิดดังนี้
1) หาคอมพลีเมนต์ฐานลบหนึ่งของตัวลบ ถ้าตัวลบมีจำนวนหลักน้อยกว่าตัวตั้ง ก็ต้องทำจำนวนหลักของตัวลบให้มีจำนวนหลักเท่ากับตัวตั้งก่อนแล้วจึงหาค่อยคอมพลีเมนต์ฐานลบหนึ่ง
2) นำตัวตั้งมาบวกกับคอมพลีเมนต์ฐานลบหนึ่งของตัวลบที่หาได้จากข้อ 1)
3) ตรวจสอบผลลัพธ์ที่ได้จากการบวกในข้อ 2) ว่ามีตัวทดสุดท้าย (End around carry)หรือไม่
- ถ้ามี End around carry ให้นำไปบวกกับหลักที่มีนัยสำคัญน้อยที่สุด (LSD) ซึ่งจะได้ค่าผลลัพธ์ที่ได้จากการลบตามต้องการ โดยมีค่าเป็นบวก
- ถ้าไม่มี End around carry ก็ให้หาคอมพลีเมนต์ฐานลบหนึ่งของผลลัพธ์ที่ได้ ซึ่งจะได้ผลลัพธ์ที่ได้จาการลบตามต้องการ แต่มีค่าเป็นลบ
ตัวอย่างที่ 25 จงลบเลขฐานสองต่อไปนี้ โดยใช้ 1’s complement
ก) 11001 – 10011
ข) 1001 – 1100
วิธีทำ ก) ลบแบบธรรมดา ลบโดยใช้ 1’s complement
11001 11001
- 10011 1’s complement + 01100
00110 มี End around carry ให้บวกเพิ่ม 1 00101
+ 1
00110
ผลลบ คือ 00110
ข) ลบแบบธรรมดา ลบโดยใช้ 1’s complement
1001 1001
- 1101 1’s complement + 0010
- 0100 ไม่มี End around carry 1011
ผลลบ คือ –( 1’s complement ของ 1011) = -0100
ตัวอย่างที่ 26 จงลบเลขฐานสิบต่อไปนี้ โดยใช้ 9’s complement
ค) 54 – 21
ง) 3250 – 72532
วิธีทำ ก) ลบแบบธรรมดา ลบโดยใช้ 9’s complement
54 54
- 21 9’s complement + 78
33 มี End around carry ให้บวกเพิ่ม 1 32
+ 1
33
ผลลบ คือ 33
ข) ลบแบบธรรมดา ลบโดยใช้ 9’s complement
3250 3250
- 75232 9’s complement + 27467
- 69282 ไม่มี End around carry 30717
ผลลบ คือ –( 10’s complement ของ 30717) = -69282
ความคิดเห็น
แสดงความคิดเห็น