How to check if integer multiplication will overflow in Rust

1 Answer

0 votes
fn multiply_will_overflow(x: i64, y: i64) -> bool {
    x.checked_mul(y).is_none()
}
 
// i64::MAX = 9223372036854775807
 
fn main() {
    let x: i64 = 39839299;
    let y: i64 = 1472783642;
    println!("{}", if multiply_will_overflow(x, y) { "true" } else { "false" });
 
    let x: i64 = 9223372036854775807;
    let y: i64 = 2;
    println!("{}", if multiply_will_overflow(x, y) { "true" } else { "false" });
}
 
 
  
/*
run:
  
false
true
  
*/

 



answered May 18, 2025 by avibootz
...