การคำนวณทางคณิตศาสตร์
การบวกเลขฐานสอง ทำได้โดยเรียนแบบเลขฐานสิบ แต่ฐานสิบมีเลข 10 ตัว คือ 0 - 9 เมื่อบวกได้ 10 ต้องใส่ 0 แล้วทดไปข้างหน้า 1 หรือ 20 ก็ใส่ 0 แล้วทดไปข้างหน้า 2 ไปเรื่อยๆ เมื่อนำมาใช้กับเลขฐานสอง ซึ่งมีตัวเลขสองตัวคือ 0 กับ 1 นำมาบวกกันได้ 2 ให้ใส่ 0 แล้วทดไปข้างหน้า 1 เช่นกัน ดังตัวอย่าง ต่อไปนี้
ตัวอย่างที่ 1 จงบวก (7536) เข้ากับ (3527)
วิธีทำ
7 5 3 6 +
3 5 2 7
1 1 0 6 3
ตัวที่ 1 (นับจากทางขวาสุด) 6+7 = 13 ใส่ 3 ทด 1
ตัวที่ 2 3+2 = 5 รวมกับตัวทดอีก 1 จึงเท่ากับ 6 เลขไม่ถึง 10 ก็ไม่ต้องเอา 10 ไปลบตามอย่างไร เราจึงใส่ 6 ลงไปและไม่มีตัวทด
ตัวที่ 3 5+5 =10 ผลลัพธ์ได้ = 10 ใส่ 0 ทด 1
ตัวที่ 4 7+3 =10 รวมตัวทดอีก 1 เป็น 11 ใส่ 1 ทด 1 ได้ผลลัพธ์ตามต้องการ
วิธีการบวกเลขฐานสองมีหลักเกณฑ์ที่ช่วยในการบวกเลขฐานสอง 4 ข้อดังนี้คือ
1. 0 + 0 = 0
2. 0 + 1 = 1
3. 1 + 0 = 1
4. 1 + 1 = 0 ทด 1
เช่น การบวกเลขฐานสอง 2 จำนวน คือ 110 และ 111 สามารถทำได้ดังนี้คือ
110 คอลัมน์ที่ 1 0 + 1 = 1
111 คอลัมน์ที่ 2 1 + 1 = 0 ทด 1
1101 คอลัมน์ที่ 3 1 + 1 + ทด 1 = 10 + 1 = 11
1.การบวกเริ่มจากพิจารณาจากหลักที่มีนัยสำคัญต่ำสุดนั่นคือหลักที่ 5
2. หลักที่ 5 เป็น 1+ 0 ได้ผลลัพธ์เป็น 1 ไม่มีการทด
3. หลักที่ 4 เป็น 1+ 1 ได้ผลลัพธ์เป็น 0 ทด 1
4. หลักที่ 3 เป็น 0 + 0 ได้ 0 แต่มีการทดจากหลักที่แล้ว เมื่อบวกกับตัวทด ได้ผลลัพธ์เป็น 1ไม่มีการทด
5. หลักที่ 2 เป็น 0 + 1 ได้ผลลัพธ์เป็น 1 ไม่มีการทด
6. หลักที่ 1 ได้ผลลัพธ์เป็น 1 เหมือนเดิม
7. ผลลัพธ์เป็น 111012
2. การลบเลขฐานสอง
หลักในการลบเลขฐานสองมีดังนี้
1 - 1 = 0
1 - 0 = 1
0 - 1 = 1 ยืมมาจากหลักที่สูงกว่ามา 1
0 - 0 = 0
*ในการยืมตัวเลขมา 1 จะทำให้ตัวเลขในหลักที่ถูกยืมลดลง 1 ถ้าตัวเลขที่ถูกยืมถัดไปมีค่าเท่ากับ 0 ให้ยืมหลักถัดไปที่มี 1 จะทำให้เลขที่ถูกยืมเป็น 0 และเลข 0 ที่ไม่สามารถยืมได้นั้นจะมีค่าเท่ากับ 1
ตัวอย่าง 1010 - 0101
วิธีทำ 0101
-
1010
0101
ผลลัพธ์ 0101
การลบเลขฐานสองก็เช่นเดียวกับการลบเลขฐานสิบ คือพิจารณาเอาเลขที่เป็นตัวตั้งลบด้วยตัวลบทีละหลัก หากตัวตั้งเป็น 1 ตัวลบเป็น 0 ผลลัพธ์ได้เป็น 1 แต่ถ้าตัวตั้งเป็น 0 และตัวลบเป็น 1 ต้องมีการดึงค่าในหลักที่อยู่ทางซ้ายมาได้ผลลัพธ์เป็น 1 และมีผลให้ค่าของหลักที่ถูกดึงมามีค่าเป็น 0 ดังตัวอย่างต่อไปนี้
ตัวอย่างที่ 1 แสดงการหาค่า 10011 – 1010
1. การลบเริ่มพิจารณาจากหลักที่มีนัยสำคัญต่ำสุดนั่นคือหลักที่ 5
2. หลักที่ 5 เป็น 1 - 0 ได้ผลลัพธ์เป็น 1
3. หลักที่ 4 เป็น 1 - 1 ได้ผลลัพธ์เป็น 0
4. หลักที่ 3 เป็น 0 - 0 ได้ 0
5. หลักที่ 2 เป็น 0 - 1 ต้องดึงค่าจากหลักที่อยู่ทางซ้าย คือ 10 มาช่วยเป็น 10 - 1 ได้ผลลัพธ์เป็น 1
6. หลักที่ 1 ถูกหลักที่อยู่ทางขวาดึงไป ทำให้เหลือค่าเป็น 0
7. ผลลัพธ์เป็น 10012
3. เลขฐานสองแบบไม่มีเครื่องหมาย
การเก็บข้อมูลในคอมพิวเตอร์ที่เป็นเลขจำนวนเต็มไม่มีเครื่องหมาย จะเก็บเลขฐานสอง ตามจำนวนบิตที่กำหนด เช่น
8 บิต = 256 ค่า (0-255)
16 บิต = 65,536 (0-65,535)
32 บิต = 4,294,967,296 (0-4,294,967,295)
4. เลขฐานสองที่มีเครื่องหมาย
ในเลขฐานสิบที่มีเครื่องหมายติดลบ จะเขียนเครื่องหมายลบไว้ข้างหน้าของขนาดตัวเลข เช่น -1 -2 -3 เป็นต้น ถ้าจะเขียนเครื่องหมายบวกข้างหน้าขนาดตัวเลขก็ได้ เช่น +1 +2 + 3 หรืออาจไม่ต้องเขียนก็หมายถึงเลขจำนวนบวก ถ้าแปลงฐานสิบให้เป็นฐานสอง และมีเครื่องหมายติดลบด้วยก็ได้ -001 -010 -011 หรือถ้าเป็นจำนวนบวกก็ +001 +010 +011 แต่การนำข้อมูลเหล่านี้ไปประมวลผลในระบบดิจิตอลจะไม่สามารถประมวลผลได้ ระบบจะทำงานได้เฉพาะ ข้อมูลดิจิตอลที่เป็น 0 และ 1 เท่านั้น ดังนั้นเครื่องหมายบวกจึงถูกกำหนดค่าให้เป็นลอจิก 0 และเครื่องหมายลบ ถูกกำหนดให้เป็นค่าลอจิก 1 จึงทำให้ +001 +010 +011 ถูกเปลี่ยนรหัสเป็น 4 บิต ดังนี้ 0001 0010 0011 ส่วนจำนวนลบจะได้รหัส 4 บิตเช่นกัน คือ1001 1010 1011 ตัวเลขดังกล่าวประกอบด้วยบิตเครื่องหมาย
5. เลขคอมพลีเมนต์
Sign-and-magnitude: คล้ายเลขจำนวนเต็มทั่วไป แต่บิตซ้ายสุดเป็นบิตเครื่องหมาย 0 หมายถึง จำนวนเต็มบวกและ 1 เป็นจำนวนเต็มลบ
00110101 = +53
10110101 = -53
1’s complement: เกิดจากนำเลขจำนวนเต็มฐานสองจำนวนนั้นลบออกจากค่าที่เป็น 1 ทุกบิต
เช่น 1’s complement ของ 10110101 คือ
11111111-10110101 = 01001010 หรือ สลับค่าทุกบิตเป็นค่าตรงข้าม
10110101 ---> 01001010
2’s complement: เกิดจากบวก 1 เข้ากับบิตขวาสุดของ 1’s complement เช่น หาค่า 2’s complement ของ 10110100 คือ
ค่า 1’s complement ของ 10110100 = 01001011
ค่า 2’s complement ของ 10110100 = 01001011+1 = 01001100
ค่า value box ของจำนวน + ขนาด 8 บิต
ค่า value box ของจำนวน - ขนาด 8 บิต
โครงสร้างการแสดงค่า 2’s complement เลขจำนวนเต็มที่มีเครื่องหมาย Overflow และตัวทด :
ตัวอย่าง 1 : จงลบเลขฐานสอง 100102 - 10112 โดยใช้วิธี 2’s Complement
1’s Complement ของ 01011 = 10100
2’s Complement ของ 01011 = 10101
10010
+10101
ไม่มีตัวทดที่เกินมา 1 00111
ดังนั้น 100102 - 10112 = 1112
ตัวอย่าง 2 : จงลบเลขฐานสอง 10112 - 100102 โดยใช้วิธี 2’s Complement
1’s Complement ของ 10010 = 01101
2’s Complement ของ 10010 = 01110
01011
+ 01110
ไม่มีตัวทดที่เกินมา 11001
1’s Complement 11001 = 00110
2’s Complement 11001 = 00111
ดังนั้น 10112 - 100102 = -1112
การบวก-ลบที่ใช้ทูคอมพลีเมนต์
เนื่องจากการคำนวณเลขฐานสองไม่มีการลบจึงทำการ Complement แทนการลบ
1’s Complement เป็นวิธีการกลับสถานะของตัวเลขฐานสองใหเป็นตรงกันข้าม เช่น 0 กลับเป็น 1 และ 1 กลับเป็น 0
2’s Complement เป็นวิธีการที่ต่อเนื่องจาก 1’s Complement
โดยนำค่าที่ได้จาก 1’s Complement บวกด้วย 1
1’s Complement & 2’s Complement
ตัวอย่าง : จงทำค่า 11001112 ให้อยู่ในรูป 1’s Complement
เลขฐานสอง 1100111
1’s Complement 0011000
ตัวอย่าง : จงทำค่า 11100112 ให้อยู่ในรูป 2’s Complement
เลขฐานสอง 1110011
1’s Complement 0001100
+ 1
2’s Complement 0001101
6. การคูณ
ในระบบเลขฐานสอง เราสามารถกระทำได้ในลักษณะเช่นเดียวกับการคูณเลขฐานสิบ
ซึ่งก็คือ ทำการตั้งหลักของการคูณให้ตรงกัน โดยเริ่มจากบิท หรือหลักตัวเลขทางขวามือสุดก่อน
เมื่อได้ทำการคูณ ตัวตั้งด้วยตัวคูณทุกตำแหน่งแล้ว ก็ให้ทำการบวกโดยใช้กฎการบวกเลขฐานสองตามปกติทุกประการ การคูณจึงมีหลักเกณฑ์ดังนี้
1 × 1 = 1
1 × 0 = 0
0 × 1 = 0
0 × 0 = 0
ตัวอย่าง (1101) 2 x (101) 2 = (……..) 2
วิธีทำ 1101 x
101
1101
0000 +
1101
1 000001
ตอบ (1000001) 2
7. การหาร
การหารในระบบเลขฐานสอง ก็จะทำเช่นเดียวกันกับการหารเลขฐานสิบ โดยใช้วิธีการหารแบบตั้งหารยาว
เกณฑ์การหารเลขฐานสองสามารถสรุปได้ดังต่อไปนี้
0 / 1 = 0
1 / 1 = 1
ตัวอย่าง (100001) 2 / (1101) 2 = (……..) 2
วิธีทำ 1101)1000001(101
01101
001101
1101
0000
ตอบ (101) 2
อ้างอิง
http://com5520014.blogspot.com/2013/07/blog-post_3206.html
http://www.krumontree.com/ebook4/files/lesson2_21.htm
http://www4.csc.ku.ac.th/~b5340205541/n7.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น