2's Complement

จากวิกิพีเดีย สารานุกรมเสรี

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

ตัวเลขแบบคิดเครื่องหมาย (Sign Number) ตัวเลขดิจิตอลที่คอมพิวเตอร์ใช้ในการคำนวณนั้น ในตัวเลข1 ชุด จะแบ่งออกเป็น2 ส่วนด้วยกันคือ

1.ส่วนที่เป็นชุดตัวเลข

2.ส่วนที่มีขนาดเท่ากับ1Bit เพื่อแสดงเครื่องหมายบวกหรือลบ

-ถ้า Bit ที่แสดงเครื่องหมายบวกหรือลบ เป็นเลข 0 แสดงว่า ชุดของตัวเลขนั้นเป็นจำนวนบวก

-ถ้า Bit ที่แสดงเครื่องหมายบอกหรือลบ เป็นเลข 1 แสงว่า ชุดของตัวเลขนั้นเป็นจำนวนลบ

[แก้] 2’s Complement

เราจะมาพูดถึงเรื่องรูปแบบของเลขแบบ 2’s Complement (ทู-คอมพลีเมนต์)รูปแบบเลข 2’s Complement จะอยู่ในลักษณะของเลข ฐาน2(Binary Number) เช่น 0110101 การเขียนเลขระบบ 2’s Complement มีหลักการเขียนดังนี้คือ

1. การแสดงเลขระบบ 2’s Complement ต้องใช้หน่วยความจำ 16 Bit ก็ต่อเมื่อ นำจำนวนนั้นๆมาบวกกันแล้วมีค่าเกิน +127

2. ถ้าตัวเลขที่เราจะเขียนเป็นค่าบวกอยู่แล้วก็ไม่ต้องไปทำอะไรใช้เขียนได้เลย

3. ถ้าตัวเลขที่เราจะเขียนเป็นค่าลบ เราต้องกลับค่ามันก่อน แล้ว บวกด้วย 1


ตัวอย่าง

00000100 = +4 เครื่องหมายเป็นบวก ไม่ต้องทำอะไรปล่อยเอาไว้

11111100 = -4 → กลับค่า* มันก่อน เป็น 00000011 นำค่าที่ได้ ไปบวกด้วย 1 (เพื่อทำให้มันเป็น 2’s Complement)

  • การกลับค่าคือ ตำแหน่งไหนเป็น 0 ให้เปลี่ยนเป็น 1 ตำแหน่งไหนเป็น1ให้เปลี่ยนเป็น 0 นำค่าที่กลับแล้วมาบวกด้วย 1
0  0  0  0  0  0  1  1
                      +
                     1
———————————————
  0  0  0  0  0  1  0  0   → 4

2’s เป็นการทำให้จำนวนที่เป็นลบ กลายเป็นบวก เพื่อให้ คอมพิวเตอร์สามารถนำไปคำนวณได้ บางคนอาจสงสัยว่าทำไมต้องทำให้มันเป็นลบด้วย เอามาลบกันเลยไม่ได้เหรอ?? คำตอบคือไม่ได้เนื่องจาก คอมพิวเตอร์ Processer ที่ใช้ในหารคำนวณการบวกและการลบจะใช้ Processer เดียวกัน ถ้าจะเอาเลขมาลบกันจึงต้องใช้ Processser การบวกมากระทำดังนั้นจึงต้องทำเลขให้เป็นบวกก่อน

                                                               การลบเลข ในระบบ 2’s Complement

การลบในระบบ 2’s Complement คือการลบด้วยการบวกนั่นเอง

ตัวอย่าง เช่น 10 - 5 เราอาจเขียนเป็น 10 + (-5)

 วิธีทำ  10 - 5
     ต้องแปลง -5 ก่อน  → 0 0 0 0 0 1 0 1  เมื่อได้เป็นฐาน2 แล้ว จากนั้น ก็กลับค่าแล้ว บวกด้วย 1
           
         
         0 0 0 0 0 1 0 1  →  1 1 1 1 1 0 1 0 + 1   →  1 1 1 1 1 0 1 1
         
      
         แปลง 10 เป็น ฐาน2 → 0 0 0 0 1 0 1 0   เมื่อแปลงครบทั้ง2 ค่าแล้ว นำทั้ง2 ค่านั้นมาบวกกัน
                                                 
                                                 0 0 0 0 1 0 1 0 
                                         +
                        1 1 1 1 1 0 1 1 
                        ——————————
                       1 (นำตัวทดออก) 0 0 0 0 0 1 0 1   → ผลลัพธ์ = +5
                               การบวกเลขในระบบ 2’s Complement

ตัวอย่าง เช่น 9 + 5

แปลง +9 เป็นฐาน2 → 00001001

แปลง +5 เป็นฐาน2 → 00000101

       0 0 0 0 1 0 0 1
                      +
       0 0 0 0 0 1 0 1
       ——————————
               0 0 0 0 1 1 1 0   →  ผลลัพธ์ = +14


2's Complement เป็นบทความเกี่ยวกับ คณิตศาสตร์ ที่ยังไม่สมบูรณ์ ต้องการตรวจสอบ เพิ่มเนื้อหา หรือเพิ่มแหล่งอ้างอิง คุณสามารถช่วยเพิ่มเติมหรือแก้ไข เพื่อให้สมบูรณ์มากขึ้น
ข้อมูลเกี่ยวกับ 2's Complement ในภาษาอื่น อาจสามารถหาอ่านได้จากเมนู ภาษาอื่น ด้านซ้ายมือ