การบวกและการลบเลขฐาน 16: ทฤษฎีคณิตศาสตร์ หลักการยืมตัวเลข และความสัมพันธ์ทางคอมพิวเตอร์
ในระบบเทคโนโลยีคอมพิวเตอร์ ตัวเลขฐานสิบหก (Hexadecimal Arithmetic) มีความสำคัญอย่างยิ่งต่อการกำหนดหน่วยความจำและการวิเคราะห์รีจิสเตอร์ของซีพียู (CPU registers) ความสามารถในการดำเนินการคณิตศาสตร์ขั้นพื้นฐานอย่าง การบวกและการลบเลขฐาน 16 เป็นทักษะที่โปรแกรมเมอร์และนักศึกษาด้านวิศวกรรมคอมพิวเตอร์จำเป็นต้องมี เพื่อทำความเข้าใจถึงกระบวนการคำนวณของหน่วยคำนวณและตรรกะ (Arithmetic Logic Unit - ALU) ได้อย่างลึกซึ้ง
หลักการบวกเลขฐาน 16 (Hexadecimal Addition)
การบวกเลขฐาน 16 มีความคล้ายคลึงกับการบวกเลขฐาน 10 ที่เราทุกคนคุ้นเคย แต่ข้อแตกต่างสำคัญคือการตั้งหลักพิจารณาค่าน้ำหนักหลักสิบหก เมื่อเราบวกตัวเลขสองตัวในตำแหน่งหลักเดียวกัน:
- ทำการเปลี่ยนค่าจากตัวอักษร
A-Fให้เป็นเลขฐานสิบก่อนบวก (A=10, B=11, C=12, D=13, E=14, F=15) - คำนวณผลรวมของคอลัมน์นั้น
- ถ้าผลรวม น้อยกว่า 16 สามารถเขียนตัวเลขหรือตัวอักษรนั้นๆ ลงใต้คอลัมน์ได้ทันที
- ถ้าผลรวม เท่ากับ 16 หรือมากกว่า 16 ให้นำผลรวมนั้นลบด้วย 16 เพื่อเก็บค่าเศษหลักหน่วยไว้เขียนลงตำแหน่งผลลัพธ์ และให้ทำการทดค่า (Carry) เท่ากับ 1 ไปยังตำแหน่งหลักทางด้านซ้ายถัดไป
ตัวอย่างคณิตศาสตร์การบวก: A3F₁₆ + 1C8₁₆
ตั้งหลักบวกทีละตำแหน่งจากขวาไปซ้าย:
- หลักขวาสุด (หลักที่ 1): F (15) + 8 = 23. เนื่องจาก 23 >= 16, ให้นำ 23 - 16 = 7. เขียนเลข 7 ในช่องผลลัพธ์ และทด 1 ไปทางซ้าย
- หลักที่ 2: 3 + C (12) + ตัวทด 1 = 16. เนื่องจาก 16 >= 16, ให้นำ 16 - 16 = 0. เขียนเลข 0 ในช่องผลลัพธ์ และทด 1 ไปทางซ้าย
- หลักที่ 3: A (10) + 1 + ตัวทด 1 = 12. เนื่องจาก 12 < 16, สามารถเขียนแทนด้วยตัวอักษร C ได้ทันที
ดังนั้น ผลบวกจะได้เท่ากับ C07₁₆
หลักการลบเลขฐาน 16 (Hexadecimal Subtraction)
ทำนองเดียวกันกับการลบเลขฐานสิบ หากตัวตั้งมีค่าน้อยกว่าตัวลบในหลักเดียวกัน เราจำเป็นต้องทำการยืมค่า (Borrow) จากตัวตั้งในหลักถัดไปทางซ้าย แต่จำไว้ว่า การยืมค่าหนึ่งครั้งในเลขฐานสิบหก จะมีค่าประจำตำแหน่งเท่ากับ 16 ในระบบฐานสิบ:
- หากหลักตัวตั้งมีค่ามากกว่าหรือเท่ากับตัวลบ ให้ทำการลบกันปกติและเขียนผลลัพธ์
- หากหลักตัวตั้งมีค่าน้อยกว่าตัวลบ ให้ไปยืมเลขหลักถัดไปทางซ้ายมา 1 (ค่าของหลักทางซ้ายจะลดลงไป 1) และเพิ่มค่าให้หลักที่เป็นตัวตั้งด้วย 16
- นำค่าใหม่ที่ได้ (ตัวตั้งเดิมบวก 16) มาลบกับตัวลบของหลักนั้น แล้วจดผลลัพธ์
ตัวอย่างคณิตศาสตร์การลบ: A3F₁₆ - 1C8₁₆
ตั้งหลักลบทีละตำแหน่งจากขวาไปซ้าย:
- หลักที่ 1: F (15) - 8 = 7. เขียนเลข 7 ได้ทันที
- หลักที่ 2: 3 - C (12). เนื่องจาก 3 มีค่าน้อยกว่า 12 จึงต้องยืมค่าจากตัวอักษร A ทางซ้ายมือ ตัวอักษร A (10) จะถูกหักไป 1 เหลือ 9 ส่วนหลักเดิมจะได้เพิ่มขึ้นมา 16 กลายเป็น 3 + 16 = 19. จากนั้นทำกระบวนการลบปกติ: 19 - 12 = 7. เขียนเลข 7 ลงในผลลัพธ์
- หลักที่ 3: 9 - 1 = 8. เขียนเลข 8 ลงในผลลัพธ์
ดังนั้น ผลลบจะได้เท่ากับ 877₁₆