How to check if long addition will overflow in Kotlin

1 Answer

0 votes
fun addingWillOverflow(x: Long, y: Long): Boolean {
    return (x > 0 && y > Long.MAX_VALUE - x) || (x < 0 && y < Long.MIN_VALUE - x)
}

fun main() {
    var x: Long = 39839299
    var y: Long = 1472783642
    println(if (addingWillOverflow(x, y)) "true" else "false")

    x = 9223372036854775807 // Long.MAX_VALUE
    y = 1872783642
    println(if (addingWillOverflow(x, y)) "true" else "false")
}


 
/*
run:
 
false
true
 
*/

 



answered May 17, 2025 by avibootz

Related questions

1 answer 171 views
1 answer 168 views
1 answer 157 views
1 answer 160 views
1 answer 169 views
...