부호 있는 정수 ใช้ 2의 보수
จึง จึง คำ คำ เกิด คือ เรา จะ แปลง แปลง ฐาน ฐาน สิบ สิบ สิบ สิบ สิบ สิบ ไป จึง จะ สามารถ สามารถ เอา เอา เอา เลขสอง เลขสอง เลขสอง เลขสอง กัน แบบ แบบ เลข ฐาน สอง และ และ สามารถ สามารถ แปลง กลับ ไป เป็น เป็น เลข ฐาน สิบ ได้ ได้ ถูก กัน แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ แบบ เลข เลข เลข เลข เลข เลข ฐาน ฐาน สอง สอง สอง สอง และ และ สามารถ สามารถ สามารถ แปลง แปลง กลับ กลับ ไป ไป เป็น เป็น เป็น เลข สิบ สิบ ได้ ได้ ได้ ได้ ได้ สอง สอง ฐาน เลข เลข ต้อง ต้อง ต้อง ที่ โดย ต้อง มี มี ลอจิก พิเศษ อะไร เพิ่มเติม และ และ และ 공간 효율 (เก็บ ค่า ค่า ได้ จำนวน มาก สุด สุด)
มี มี มี คิด คน วิธี ข้อ ข้อ ดี ข้อ เสีย เสีย แตกต่าง กัน กัน ไป ผม จะ นำ เสนอ สาม วิธี วิธี ที่ มี คน คิด มา แล้ว ดัง นี้ นี้ นี้ นี้ นี้
1.
เก็บ เก็บ ให้ โดย โดย 부호 비트 เป็น สัญลักษณ์+ - ไป เลย (서명 크기) เหมือน ที่ ที่ เรา เรา ใช้ ใน เลข ฐาน สิบ โดย ให้ ให้ ให้ 가장 유용한 비트 (MSB) เป็น 부호 비트 เช่น 3 → 0011b ดัง นั้น -3 ก็ จะ เป็น เป็น → 1011b
ซึ่ง แบบน ี้มัน ดู เข้า ใจง ่าย สำหรับ มนุษย์ เยแหละ แต่ มข้อ เสีย
0011b (3)
+
1011b (-3)
1110b ?? 3+(-3) = -5 แทนที่จะเป็น 0 ดังนั้นวิธีนี้ไม่เหมาะแล้ว
2.
1의 보수
ใน ใน ที่ 1 เลข เลข ลบ และ เลข เลข บวก บวก เรา แค่ แค่ บิต บิต แรก แรก (msb) ส่วน วิธี วิธี วิธี นี้ นี้ ให้ กลับ ทุก 3-> 0011b ดัง นั้น -3-> 1100b จะ สังเกต ว่า บิต แรก ถ้า เป็น เป็น เป็น เป็น เป็น เป็น จะ หมาย ถึง จำนวน ลบ เหมือนกับวิธีที่ 1 หห้น เราลอง มาบว กกาน
0001b (1)
+
1100b (-3)
1101b // 1+(-3) = -2
-------------------------
0010b (2)
+
1100b (-3)
1110b // 2+(-3) = -1
-------------------------
0011b (3)
+
1100b (-3)
1111b // 3+(-3) = -0
เราสรุปได้ว่า
1101b = -2
1110b = -1
1111b = -0
ด้วย ด้วย ด้วย นี้ วิธี สามารถ บวกลบ บวกลบ เลข ได้ ปกติ ปกติ เพียง แต่ แต่ ยัง เหลือ เหลือ 1 ปัญหา คือ ยัง ยัง มี -0 อยู่ (1111b)
3.
2의 보수
วิธี วิธี 2 ที่ ดี ดี เหลือ ปัญหา อีก ข้อ ข้อ เดียว เดียว คือ คือ คือ ซึ่ง มัน ไม่ ไม่ ไม่ ที่ จะ มี มี -0 ซึ่ง ทำ ให้ เรา เก็บ ค่า ค่า ได้ น้อย ลง 1 ตัว ด้วย ด้วย ด้วย
วิธีนี้แก้ไขได้ด้วย การเอา 1 มาบวกเข้าไปกับ 1의 보수 ดัง นั้น -3 จะ เป็น (11>0)
เราлองมาพิศูจน์ กัน ว่า -0 จะหาย ไปรึป่าว
0001b (1)
+
1101b (-3)
1110b // 1+(-3) = -2
-------------------------
0010b (2)
+
1101b (-3)
1111b // 2+(-3) = -1
-------------------------
0011b (3)
+
1101b (-3)
0000b // Yes !! 3+(-3) = 0
เราสรุปได้ว่า
1110b = -2
1111b = -1
0000b = 0
จะเห็นว่า 2의 완벽한 조화
ดแ้นตัว แปรที่ เป็in เป็in ลขบ วก และลบ (Signed) จึง จะถูก เก็บใ นรูปแบบ 2'complement 에서
Reference
이 문제에 관하여(부호 있는 정수 ใช้ 2의 보수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pramoth/thamaimtawaepr-signed-integer-aich-2s-complement-3lgk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)