$ java OverflowBitTrickDemo === Hand-rolled overflow detector vs. known cases === 2000000000 + 2000000000 -> raw int result -294967296, overflow detected: true 2000000000 + -1000000000 -> raw int result 1000000000, overflow detected: false 2147483647 + 1 -> raw int result -2147483648, overflow detected: true -2147483648 + -1 -> raw int result 2147483647, overflow detected: true 100 + 200 -> raw int result 300, overflow detected: false === Cross-checked against Math.addExact() on the same inputs === 2000000000 + 2000000000: bit-trick says overflow=true, Math.addExact() agrees=true 2000000000 + -1000000000: bit-trick says overflow=false, Math.addExact() agrees=true 2147483647 + 1: bit-trick says overflow=true, Math.addExact() agrees=true -2147483648 + -1: bit-trick says overflow=true, Math.addExact() agrees=true 100 + 200: bit-trick says overflow=false, Math.addExact() agrees=true