How to check if integer addition will overflow in Scala

1 Answer

0 votes
object OverflowCheck {
  val IntMax: Int = Int.MaxValue
  val IntMin: Int = Int.MinValue

  def addingWillOverflow(x: Int, y: Int): Boolean = {
    (x > 0 && y > IntMax - x) || (x < 0 && y < IntMin - x)
  }

  // Int.MaxValue = 2147483647

  def main(args: Array[String]): Unit = {
    val x: Int = 39839299
    val y: Int = 1472783642
    println(if (addingWillOverflow(x, y)) "true" else "false")

    val x2: Int = 1939839299
    val y2: Int = 1872783642
    println(if (addingWillOverflow(x2, y2)) "true" else "false")
  }
}


 
/*
run:
 
false
true
 
*/

 



answered May 17, 2025 by avibootz

Related questions

1 answer 157 views
1 answer 150 views
1 answer 143 views
1 answer 155 views
...