วิธีเดียวที่ปลอดภัยคือการตรวจสอบน้ำล้นก่อนที่จะเกิดขึ้น มีวิธีแฮ็กในการตรวจสอบจำนวนเต็มล้นแม้ว่า ดังนั้น หากคุณกำลังตั้งเป้าที่จะตรวจจับโอเวอร์โฟลว์ในส่วนเสริมที่ไม่ได้ลงนาม คุณสามารถตรวจสอบว่าผลลัพธ์นั้นน้อยกว่าค่าที่เพิ่มไว้หรือไม่ ตัวอย่างเช่น
ตัวอย่าง
unsigned int x, y; unsigned int value = x + y; bool overflow = value < x; // Alternatively "value < y" should also work
นี่เป็นเพราะว่าหาก x และ y เป็น int ที่ไม่ได้ลงนาม หากเพิ่มเข้าไปและโอเวอร์โฟลว์ ค่าของพวกมันจะต้องไม่มากกว่าค่าใดค่าหนึ่ง เนื่องจากจะต้องมากกว่าค่า unsigned int สูงสุดที่เป็นไปได้เพื่อให้สามารถล้อมและเดินหน้าต่อไปได้ ของค่าเหล่านี้
อีกวิธีหนึ่งคือพยายามเข้าถึงแฟล็กโอเวอร์โฟลว์ใน CPU ของคุณ คอมไพเลอร์บางตัวให้การเข้าถึงซึ่งคุณสามารถทดสอบได้ แต่นี่ไม่ใช่มาตรฐาน