การแทนเลขฐานสอง
เราสามารถทำให้เลขฐานสองเป็นสองกลุ่มต่อไปนี้ - Unsigned numbers และ Signed numbers.
หมายเลขที่ไม่ได้ลงชื่อ
ตัวเลขที่ไม่ได้ลงชื่อมีขนาดของตัวเลขเท่านั้น พวกเขาไม่มีวี่แวว นั่นหมายความว่าเลขฐานสองที่ไม่ได้ลงชื่อทั้งหมดเป็นค่าบวก เช่นเดียวกับระบบเลขฐานสิบการวางเครื่องหมายบวกหน้าตัวเลขเป็นทางเลือกสำหรับการแสดงจำนวนบวก ดังนั้นจำนวนบวกทั้งหมดรวมถึงศูนย์สามารถถือเป็นตัวเลขที่ไม่ได้ลงชื่อได้หากไม่ได้กำหนดเครื่องหมายบวกไว้หน้าตัวเลข
หมายเลขลงนาม
หมายเลขที่ลงนามมีทั้งเครื่องหมายและขนาดของตัวเลข โดยทั่วไปจะติดป้ายไว้หน้าหมายเลข ดังนั้นเราต้องพิจารณาเครื่องหมายบวกสำหรับจำนวนบวกและเครื่องหมายลบสำหรับจำนวนลบ ดังนั้นตัวเลขทั้งหมดสามารถถือได้ว่าเป็นหมายเลขที่มีลายเซ็นหากมีการกำหนดเครื่องหมายที่เกี่ยวข้องไว้ข้างหน้าหมายเลข
หากบิตเครื่องหมายเป็นศูนย์ซึ่งบ่งชี้ว่าเลขฐานสองเป็นบวก ในทำนองเดียวกันถ้าบิตเครื่องหมายเป็นหนึ่งซึ่งบ่งชี้ว่าเลขฐานสองเป็นลบ
การเป็นตัวแทนของเลขฐานสองที่ไม่ได้ลงนาม
บิตที่มีอยู่ในเลขฐานสองที่ไม่ได้ลงนามถือนามสกุล magnitudeของตัวเลข นั่นหมายความว่าหากเลขฐานสองที่ไม่ได้ลงนามมี‘N’ บิตแล้วทั้งหมด N บิตแสดงขนาดของตัวเลขเนื่องจากไม่มีบิตเครื่องหมายใด ๆ
Example
พิจารณาไฟล์ decimal number 108. เลขฐานสองเทียบเท่าของจำนวนนี้คือ1101100. นี่คือการแสดงเลขฐานสองที่ไม่ได้ลงชื่อ
(108) 10 = (1101100) 2
มันมี 7 บิต 7 บิตเหล่านี้แสดงขนาดของตัวเลข 108
การเป็นตัวแทนของเลขฐานสองที่ลงนาม
บิตที่มีนัยสำคัญที่สุด (MSB) ของเลขฐานสองที่ลงนามใช้เพื่อระบุสัญลักษณ์ของตัวเลข ดังนั้นจึงเรียกอีกอย่างว่าsign bit. เครื่องหมายบวกแสดงโดยการวาง '0' ในบิตเครื่องหมาย ในทำนองเดียวกันเครื่องหมายลบจะแสดงโดยการวาง '1' ในบิตเครื่องหมาย
หากเลขฐานสองที่ลงนามมีบิต 'N' ดังนั้นบิต (N-1) จะแสดงเฉพาะขนาดของตัวเลขเนื่องจากมีการสงวนไว้หนึ่งบิต (MSB) สำหรับแสดงเครื่องหมายของตัวเลข
มีสามตัว types of representations สำหรับเลขฐานสองที่ลงนาม
- แบบฟอร์ม Sign-Magnitude
- แบบฟอร์มเสริม 1
- แบบฟอร์มเสริม 2
การแทนจำนวนบวกในทั้ง 3 รูปแบบจะเหมือนกัน แต่การแทนค่าจำนวนลบเท่านั้นที่จะแตกต่างกันในแต่ละรูปแบบ
Example
พิจารณาไฟล์ positive decimal number +108. ความเทียบเท่าไบนารีของขนาดของตัวเลขนี้คือ 1101100 7 บิตเหล่านี้แสดงขนาดของตัวเลข 108 เนื่องจากเป็นจำนวนบวกให้พิจารณาบิตเครื่องหมายเป็นศูนย์ซึ่งวางไว้ทางด้านซ้ายของขนาดส่วนใหญ่
(+108) 10 = (01101100) 2
ดังนั้นไฟล์ signed binary representationของเลขทศนิยมที่เป็นบวก +108 คือ ดังนั้นการแทนค่าเดียวกันจึงใช้ได้ในรูปแบบขนาดเครื่องหมายรูปแบบส่วนเติมเต็มของ 1 และรูปแบบเสริมของ 2 สำหรับจำนวนทศนิยมที่เป็นบวก +108
แบบฟอร์ม Sign-Magnitude
ในรูปแบบขนาดเครื่องหมาย MSB ใช้สำหรับการแสดง sign ของจำนวนและบิตที่เหลือแสดงถึง magnitudeของจำนวน ดังนั้นเพียงใส่บิตเครื่องหมายที่ด้านซ้ายสุดของเลขฐานสองที่ไม่ได้ลงชื่อ การแทนค่านี้คล้ายกับการแสดงตัวเลขทศนิยมที่เซ็นชื่อ
Example
พิจารณาไฟล์ negative decimal number -108. ขนาดของตัวเลขนี้คือ 108 เรารู้ว่าการแทนเลขฐานสองที่ไม่ได้ลงชื่อของ 108 คือ 1101100 มันมี 7 บิต บิตทั้งหมดนี้แสดงถึงขนาด
เนื่องจากจำนวนที่ระบุเป็นค่าลบให้พิจารณาบิตเครื่องหมายเป็นหนึ่งซึ่งวางไว้ทางด้านซ้ายสุดของขนาด
( −108) 10 = (11101100) 2
ดังนั้นการแสดงขนาดเครื่องหมายของ -108 คือ 11101100.
แบบฟอร์มเสริม 1
ส่วนเติมเต็มของตัวเลข 1 ได้มาจาก complementing all the bitsของเลขฐานสองที่ลงนาม ดังนั้นส่วนเติมเต็มของจำนวนบวก 1 จะให้จำนวนลบ ในทำนองเดียวกันส่วนเติมเต็มของ 1 ของจำนวนลบจะให้จำนวนบวก
นั่นหมายความว่าหากคุณทำการเติมเต็มสองคูณ 1 ของเลขฐานสองรวมถึงบิตเครื่องหมายคุณจะได้รับเลขฐานสองที่ลงนามดั้งเดิม
Example
พิจารณาไฟล์ negative decimal number -108. ขนาดของตัวเลขนี้คือ 108 เราทราบว่าการแทนเลขฐานสองที่ลงนามของ 108 คือ 01101100
มันมี 8 บิต MSB ของตัวเลขนี้เป็นศูนย์ซึ่งบ่งบอกถึงจำนวนบวก การเติมศูนย์เป็นหนึ่งและในทางกลับกัน ดังนั้นให้แทนที่เลขศูนย์ด้วยเลขและเลขศูนย์เพื่อให้ได้จำนวนลบ
( −108) 10 = (10010011) 2
ดังนั้นไฟล์ 1’s complement of (108)10 คือ (10010011)2.
แบบฟอร์มเสริม 2
ส่วนประกอบ 2 ของเลขฐานสองหาได้จาก adding one to the 1’s complementของเลขฐานสองที่ลงนาม ดังนั้นการเติมเต็ม 2 ของจำนวนบวกจึงให้จำนวนลบ ในทำนองเดียวกันส่วนเติมเต็ม 2 ของจำนวนลบจะให้จำนวนบวก
นั่นหมายความว่าหากคุณทำการเติมเต็มสองคูณ 2 ของเลขฐานสองรวมถึงบิตเครื่องหมายคุณจะได้รับเลขฐานสองที่ลงนามดั้งเดิม
Example
พิจารณาไฟล์ negative decimal number -108.
เรารู้ส่วนประกอบ 1 ของ (108)10 คือ (10010011)2
คำชมของ 2 (108) 10 = 1 ชมเชย (108) 10 + 1
= 10010011 + 1
= 10010100
ดังนั้นไฟล์ 2’s complement of (108)10 คือ (10010100)2.