How to implement the power function in Rust

1 Answer

0 votes
fn my_pow(mut base: f64, mut exponent: i32) -> f64 {
    let mut result = 1.0;

    while exponent > 0 {
        if (exponent & 1) == 1 {
            result *= base;
        }
        exponent >>= 1;
        base *= base;
    }

    result
}

fn main() {
    println!("{}", my_pow(2.0, 3));  // 8
    println!("{}", my_pow(3.0, 3));  // 27
    println!("{}", my_pow(3.0, 2));  // 9
    println!("{}", my_pow(2.0, 2));  // 4
    println!("{}", my_pow(5.0, 2));  // 25
    println!("{}", my_pow(-2.0, 4)); // 16
}

   
    
/*
run:
    
8
27
9
4
25
16
    
*/

 



answered Jun 11, 2025 by avibootz
...