สารบัญ:
วีดีโอ: คุณจะรู้ได้อย่างไรว่าโอเวอร์โฟลว์มีการลงชื่อเพิ่มเติมหรือไม่?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
เมื่อมีการเพิ่มหมายเลขเสริมของ 2 ที่มีเครื่องหมาย 2 ตัว ตรวจพบโอเวอร์โฟลว์หาก:
- ตัวถูกดำเนินการทั้งคู่เป็นบวกและผลรวมคือ เชิงลบ , หรือ.
- ตัวถูกดำเนินการทั้งสองคือ เชิงลบ และผลรวมเป็นบวก
ในทำนองเดียวกัน คุณอาจถามว่าคุณรู้ได้อย่างไรว่าน้ำล้นเกิดขึ้นได้อย่างไร
กฎสำหรับการตรวจจับโอเวอร์โฟลว์ในผลรวมเสริมของสองนั้นง่ายมาก:
- หากผลรวมของตัวเลขบวกสองตัวให้ผลลัพธ์เป็นลบ แสดงว่าผลรวมนั้นล้นออกมา
- หากผลรวมของตัวเลขติดลบสองตัวให้ผลลัพธ์ที่เป็นบวก แสดงว่าผลรวมนั้นล้นออกมา
- มิฉะนั้นยอดไม่ล้น
เมื่อเลขฐานสองที่ลงนามถูกเพิ่มหรือลบล้นจะเกิดขึ้นเมื่อใด ถ้า 2 สอง เติมเต็ม มีการเพิ่มตัวเลข และทั้งสองมีเครื่องหมายเหมือนกัน (ทั้งบวกหรือลบทั้งคู่) แล้ว ล้นเกิดขึ้น ถ้าหากผลลัพธ์มีเครื่องหมายตรงกันข้าม ล้น ไม่เคย เกิดขึ้น เมื่อไร เพิ่ม ตัวถูกดำเนินการที่มีเครื่องหมายต่างกัน
นอกจากนี้ โอเวอร์โฟลว์ที่มีลายเซ็นคืออะไร?
" ลงนาม จำนวนเต็ม ล้น " หมายความว่าคุณพยายามเก็บค่าที่อยู่นอกช่วงของค่าที่ประเภทสามารถแสดงได้ และผลลัพธ์ของการดำเนินการนั้นไม่ได้กำหนดไว้ (ในกรณีนี้ โปรแกรมของคุณหยุดทำงานโดยมีข้อผิดพลาด)
โอเวอร์โฟลว์กับการพกพาต่างกันอย่างไร?
ล้นและพกพา ออกมาเป็นสิ่งเดียวกันในเชิงปรัชญา ทั้งสองบ่งชี้ว่าคำตอบไม่เข้ากัน ใน มีพื้นที่ว่าง NS ความแตกต่าง คือว่า พก ออกใช้เมื่อคุณมีที่อื่นจะวางในขณะที่ ล้น คือเมื่อคุณทำไม่ได้ ตัวอย่างเช่น ลองนึกภาพคอมพิวเตอร์สี่บิตที่ใช้เลขฐานสองที่ไม่ได้ลงนามเพื่อบวก