Signed number representations

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

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

SIGED NUMBER



Signed Number หรือ ตัวเลขแบบคิดเครื่องหมาย คือการคำนวณของตัวเลขดิจิตอลวิธีหนึ่ง ซึ่งในตัวเลขดิจิตอลนั้นอาจแบ่งส่วนประกอบออกได้เป็นสองส่วนด้วยกัน โดยในส่วนแรกนั้นจะเป็นส่วนที่เรียกว่า Magnitude หรือค่าขนาดของบิตตัวเลข มีตำแหน่งอยู่ที่สามนับจากขวา และส่วนที่สองจะเรียกว่า Signed Bit หรือค่าขนาดหนึ่งบิตแทนเครื่องหมายบวกหรือลบ หรือเรียกสั้นๆ ว่าบิตเครื่องหมาย โดยที่บิตเครื่องหมายนี้จะมีค่าเป็นบิตสูงสุด มีตำแหน่งอยู่หน้าสุด ดังนั้นในตัวเลขดิจิตอลหนึ่งตัวสามารถที่จะแทนได้ทั้งค่าบวกและค่าลบ ซึ่งถ้าบิตเครื่องหมายเป็น 0 ค่าของบิตสูงสุดจะมีค่าเป็นบวก แต่ถ้าบิตเครื่องหมายเป็น 1 ค่าของบิตสูงสุดจะมีค่าเป็นลบ ไม่ว่าบิตเครื่องหมายจะเป็น 0 หรือ 1 ก็ตามค่าขนาดของบิตจะเหมือนเดิม ดังตัวอย่างต่อไปนี้


EX1

+12 = 0000 1100

-12 = 1000 1100


EX2

+20 = 0001 0100

-20 = 1001 0100


จากตัวอย่างจะเป็นการแทนค่าตัวเลขดิจิตอลแบบ Sign-Magnitude System หลังจากที่ได้ดูตัวอย่างแล้วจะพบว่าความแตกต่างระหว่างบวกและลบ เช่น +12 และ -12 จะแตกต่างกันเพียงค่าของบิตเครื่องหมายเท่านั้น ส่วนค่าขนาดของบิตจะมีค่าเท่ากัน ถึงแม้ว่าระบบเลขดิจิตอลแบบนี้จะสามารถแทนค่าบวกและค่าลบได้ แต่ในการคำนวณของเครื่องคิดเลขจะไม่สามารถใช้คำนวณระบบนี้ได้ เนื่องจากการสร้างวงจรการคำนวณจะมีความละเอียดซับซ้อนมากทำได้ยาก จึงสามารถทำวิธีอื่นได้อีกสองแบบ คือ แบบ 1’s Complement System และ 2’s Complement System


  • 1’s Complement System

เป็นการเปลี่ยนค่าสถานะของบิตเครื่องหมาย คือถ้าบิตเครื่องหมายเป็น 1 ให้เปลี่ยนเป็น 0 และถ้าบิตเครื่องหมายเป็น 0 ให้เปลี่ยนเป็น 1 โดยที่จะทำการเปลี่ยนสถานะทุกบิตกลับกันทั้งหมด ตามตัวอย่างต่อไปนี้


EX1

+12 = 0000 1100

-12 = 1111 0011 [1’s Complement]


EX2

+18 = 0001 0010

-18 = 1110 1101 [2’s Complement]


  • 2’s Complement System

คือผลบวกของ 1's Complement กับเลข 1 ทั้งนี้เพื่อประโยชน์สำหรับทำการลบเลข และเป็นการแสดงค่าเลขที่เป็นค่าลบในระบบ Computer ระบบ 2’s Complement นั้นเป็นรหัสที่ใช้แทนเลขฐานสองแบบบวกและแบบลบ ในระบบ Signed Binary Number หรือระบบตัวเลขฐานสองแบบคิดเครื่องหมาย หรือ ระบบ 2’s Complement สามารถทำได้โดยถ้าเป็นเลขบวกไม่ต้องเปลี่ยนค่าสถานะของบิตเครื่องหมาย แต่ถ้าเป็นเลขลบ ให้ทำการกลับค่าโดยการ 1’s Complement ทุกบิต และบวก 1 เสมอตามตัวอย่าง ดังนี้


EX1

+12 = 0000 1100

-12 = 1111 0011 [1’s Complement]

1111 0011 + 1

-12 = 1111 0100 [2’s Complement]


EX2

+16 = 0001 0000

-16 = 1110 1111 [1’s Complement]

1110 1111 + 1

-16 = 1111 0000 [2’s Complement]


  • Possible Number Representations


Signed Magnitude

+1 = 001

-1 = 101

+2 = 010

-2 = 110

+3 = 011

-3 = 111

+12 = 1100

-12 = 0100

+13 = 1101

-13 = 0101


1’s Complement

+1 = 001

-1 = 110

+2 = 010

-2 = 101

+3 = 011

-3 = 100

+12 = 1100

-12 = 0011

+13 = 1101

-13 = 0010


2’s Complement

+1 = 001

-1 = 111

+2 = 010

-2 = 110

+3 = 011

-3 = 101

+12 = 1100

-12 = 0100

+13 = 1101

-13 = 0011


_____________________________________________________________________________________________