You are on page 1of 13

บทที่ 3: การบวก ลบ คูณ หาร เลขฐานสอง

เนื้ อหาสาระ
1. การบวกเลขฐานสอง
การบวกเลขฐานสอง (Binary addition) จะคล้ายกับการบวก
เลขฐานสิบ โดยเริ่มจากการบวกเลขสองตัวที่มีความสำาคัญตำ่าสุดที่อยู่
ทางซ้ายมือกูอน ถ้าหากผลลัพธ์ท่ีได้มีคาู เกิน 1 หลัก จะเป็ นตัวทดและ
จะนำ าไปบวกในหลักถัดไป
ในการบวกเลขในระบบฐานสิบ ถ้าหากผลลัพธ์มีคูาเกิน 9 จะมี
ตัวทดเกิดขึ้น สำาหรับในระบบฐานสองตัวทดจะเกิดขึ้นเมื่อผลลัพธ์ท่ีได้
มีคูาเกิน 1

การบวกเลขฐานสิบ เทอม การบวกเลขฐานสอง


11 ตัวทด 11111110
099 ตัวตัง้ 01100011
095 ตัวบวก 0101 1111
194 ผลลัพธ์ 11000010
รูปที่ 3.1 การบวกเลขฐานสิบและเลขฐานสอง

ในร่ ป 3.1 จะเป็ น การบวกเลขฐานสิ บ ละเลขฐานสอง ในการ


บวกเลขฐานสิ บ ในร่ ป จะเป็ นการบวกเลข 95 กับ 99 โดยให้ เลข 99
เป็ นตัวตัง้ และเลข 95 เป็ นตัวบวก โดยจะบวกเลข 9 กับ 5 ทางขวา
มือสุดกูอน ผลลัพธ์ท่ีได้จะเป็ น 4 ละมีเลข 1 เป็ นตัวทด ตัวทดตัวนี้ จะ
ทดไปในหลักสิบดังแสดงในร่ป โดยเขียนตัวทดไว้ด้านบน ตูอมานำ าตัว
ทดที่เป็ น 1 มาบวกกับตัวตัง้ เลข 9 และตัวบวกเลข 9 ผลลัพธ์ท่ีได้คือ
เลข 9 และมี ตัว ทดคื อ เลข 1 ทดไปในหลั กร้ อ ย ตู อ มาบวกหลั ก ร้ อ ย
โดยบวกตั ว ทด 1 กั บ เลข 0 จะได้ ผ ลลั พธ์ เป็ น 1 ดังนั ้ น การบวก 99
กับ 95 จะได้ 194

1 1

1 = +1
+1 10
11 +1
11
รูปที่ 3.2 การบวก 1 สามตัวทำาได้โดยแยกการบวกเป็ นสองสูวน

การบวก 1 สามครัง้ แสดงได้ดังร่ปที่ 3.3 เราจะแยกการบวก


ออกเป็ น 2 สูวน ขัน
้ แรกจะบวก 1 กับ 1 ได้ผลลัพธ์เป็ น 0 แล้วตัวทด
เป็ น 1 จากนั ้นให้เขียน 0 ไว้เป็ นบิตแรก ตัวทดเป็ นบิตที่สองจะได้เป็ น
คูา 10 ตูอมานำ าคูา 1 จะได้วูาการบวกบิตแรกได้ 1 ทำาให้ผลบวกของ
เลข 1 3 ตัวได้เทูากับ 11

้ ที่ 1 บวกเลขหลักแรก (ขวามือสุด)


ขัน
้ ที่ 2 พิจารณาผลลัพธ์ของเลขที่บวก ถ้าผลบวกมากกวูา 1 ให้ทด
ขัน
หลักถัดไป
้ ที่ 3 ถ้ามีเลขอีกให้บวกตูอจนหมด หรือถ้ามีการทดจากขัน
ขัน ้ ที่ 2 นำ า
มารวมกันกูอนจึงบวกจนหมด
ตารางการบวกเลขฐานสอง

+ 0 1

0 0 1
1 1 10
ตารางข้อเท็จจริงของการบวกเลขฐานสอง
การบวก เท่ากับ หมายเหตุ
0+0 0
0+1 1
1+0 1
1+1 0 ใส่ 0 ทด 1
1+1+1 1 ใส่ 1 ทด 1
ตัวอย่าง
จงหาผลบวกของ 110012 + 11012

ฐานสอง
ฐานสิบ
11001
1(2)4 + 1(2)3 + 0 + 0 + 1(2)0 25
+1101
1(2)3 + 1(2)2 + 0 + 1(2)0 +13
100110
38

จงหาผลบวกของ 1100111012 +101101112

110011101
+ 10110111
1001010100

2. การลบเลขฐานสอง
การลบเลขฐานสอง คือ การลบเลขฐานสองตัง้ แตู 2 จำานวนขึ้น
ไปออกจากกัน จะมีหลักการลบเชูนเดียวกับการลบเลขฐานสิบ โดย
เริ่มต้นการลบเลขตัง้ แตูบิตตำ่าสุด เป็ นบิตที่มีท่ีมีความสำาคัญน้ อยสุด
(LSB) หรือบิตด้านขวามือสุดกูอน และคูอยๆเลื่อนไปทางบิตที่มีความ
สำาคัญมากสุด (MSB) หรือบิตด้านซ้ายมือสุด หลักสำาคัญของการลบ
เลขมีดังนี้
หลักการลบ
1. กรณี หลักตัวตัง้ เทูากันหรือมากกวูาตัวลบให้ลบตามปกติ
เหมือนเลขฐานสิบ
2. กรณี ท่ีลบไมูได้ต้องยืมจากหลังถัดไปมาเทูากับเลขฐาน
นั ้นๆ แล้วบวกกับตัวตัง้ ในหลักที่จะลบ เชูนเลขฐานสองก็ต้องยืมมา
2 เลขฐานแปดยืมมา 8 และเลขฐานสิบหกก็ยืมมา 16
3. ผลลัพธ์ท่ีได้ต้องเป็ นจำานวนเลขที่ไมูเกินเลขฐานนั ้นๆ
4. หลักที่ถ่กยืมมาจะต้องลดลง 1 เสมอ
ตัวอย่างที่ (1101)2 - (1011)2 = (……..)2
วิธีทำำ 1101 -
1011
ตอบ (0010) 2
อธิบำย 1. 1 - 1 = (0) 2 ใสู 0
2. 0 – 1 ยืมบิตถัดไปมา 2 = (0 + 2) - 1 =
(1) 2 ใสู 1
3. ถ่กยืมไปเหลือ 0 - 0 = (0)2 ใสู 0
4. 1 - 1 = (0) 2 ใสู 0

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

1×1=1
1×0=0
0×1=0
0×0=0
ดังตัวอยูางตูอไปนี้
4. การหารเลขฐานสอง
หลักการหาร
1. ใช้หลักของการค่ณเข้ามาชูวย โดยการเดาผลหารกูอน
แล้วนำ าผลที่ได้มาค่ณกับตัวหาร
2. นำ าผลค่ณที่ได้จากข้อ 1 มาลบกับตัวตัง้ โดยใช้หลักการ
ลบของเลขฐานนั ้นๆ
3. ทำาเชูนนี้ไปเรื่อยๆ จนครบเหมือนการหารเลขฐานสิบ

5. คอมพรีเมนต์
ระบบเลขที่ใช้กันใน 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 ทัง้ หมด

ตัวอย่าง
Binary Number 1’s complement
2’s complement
10101 01010
01011
10111 01000
01001
111100 000011
000100
11011011 00100100
00100101

ตัวอย่าง จงหา 1’S คอมพลีเมนต์ และ 2’S คอมพลีเมนต์ ของ


เลข (11011100)2

วิธีทำำ

0 0 10 00 1 1
1’S คอมพลีเมนต์ ของ +
1
(11011100)2 = 0 0 10 01 0 0

2’S คอมพลีเมนต์ ของ


(11011100)2 =

ตัวอย่าง จงหา 1’S คอมพลีเมนต์ และ 2’S คอมพลีเมนต์ ของเลข


(10001001)2
วิธีทำา
0 1 11 0 11 0
+
1’S คอมพลีเมนต์ ของ 1
0 1 11 0 11 1
(10001001)2 =

2’S คอมพลีเมน
ต์ ของ (10001001)2 =
การลบเลขฐานสองโดยใช้วิธี 1 คอมพรีเมนต์

1) หา 1’S คอมพลีเมนต์ ของตัวลบถ้าจำานวนบิตของตัวลบ


น้ อยกวูาจำานวนบิตของตัวตัง้ ต้องเติม 0 ข้างหน้ าให้จำานวนบิตของ
ตัวตัง้ และตัวลบเทูากัน แล้วจึงหา 1’S คอมพลีเมนต์ของตัวลบ
2) บวก 1’S คอมพลีเมนต์ ของตัวลบเข้ากับตัวตัง้
3) ถ้าผลลัพธ์จากข้อ 2 มีจำานวนบิตมากกวูาตัวตัง้ ให้นำาบิตที่
เกินนั ้นกลับมาบวก
บิตตำ่าสุด (LSB) ผลบวกที่ได้คือ คำาตอบ
4) ถ้าผลลัพธ์จากข้อ 2 มีจำานวนบิต เทูากับ ตัวตัง้ หรือตัวลบ
ให้หา 1’S คอมพลีเมนต์ ของผลบวกนั ้น ผลลัพธ์ท่ีได้ คือ คำาตอบ
แตูมีคูาเป็ นลบ
ตัวอย่าง จงหาผลตูางของเลขฐานสอง ตูอไปนี้โดยใช้วิธีของ 1’S คอม
พลีเมนต์
ก) 10010 – 1011
ข) 10100 – 11001
วิธีทำา
ก) 10010 – 1011
1’S คอมพลีเมนต์ ของ 01011 = 10100
1 0 0 1 0
+
1 0 1 0 0
1 0 0 1 1 0
+
1
0 0 1 1 1

10010 –
1011 = 111
ข) 10100 – 11001
1 0 1 0 0
+
0 0 1 1 0
1 1 0 1 0

1’S คอมพลีเมนต์ ของ 11010 = 00101


10100 – 11001 = - 101

6. การลบเลขฐานสองโดยใช้วิธี 2 คอมพรีเมนต์
1) หา 2’S คอมพลีเมนต์ ของตัวลบ ถ้าจำานวนบิตของตัวลบ
น้ อยกวูาจำานวนบิตของตัวตัง้ ต้องเติม 0 ข้างหน้ าให้จำานวนบิตของ
ตัวตัง้ และตัวลบเทูากัน แล้วจึงหา 2’S คอมพลีเมนต์ ของตัว
ลบ
2) บวก 2’S คอมพลีเมนต์ ของตัวลบเข้ากับตัวตัง้
3) ถ้าผลลัพธ์จากข้อ 2 มีจำานวนบิต มากกวูาตัวตัง้ ให้ตัดบิตที่
เกินทิง้ สูวนที่เหลือคือคำาตอบ
4) ถ้าผลลัพธ์จากข้อ 2 มีจำานวนบิต เทูากับ ตัวตัง้ หรือ ตัวลบ
ให้หา 2’S คอมพลีเมนต์ ของผลบวกนั ้น ผลลัพธ์ท่ีได้ คือ คำาตอบ
แตูมีคูาเป็ นลบ
ตัวอย่าง จงหาผลตูางของเลขฐานสอง ตูอไปนี้โดยใช้วิธีของ 2’S คอม
พลีเมนต์
ก) 10010 – 1011
ข) 10100 – 11001
วิธีทำา
ก) 10010 – 1011
1’S คอมพลีเมนต์ ของ 01011 = 10100
2’S คอมพลีเมนต์ ของ 01011 = 10101
1 0 0 1 0
+
1 0 1 0 1
1 0 0 1 1 1

10010 – 1011
= 111

ข) 10100 - 11001
1’S คอมพลีเมนต์ ของ 11001 = 00110
2’S คอมพลีเมนต์ ของ 11001 = 00111

1 0 1 0 0
+
0 0 1 1 1
1 1 0 1 1
2’S คอมพลีเมนต์ ของ 11011 = 00100 + 1 = 101
10100 - 11001 = - 101

You might also like