LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

каков будет результат

1321730048:

$ cat main.rs               
fn main() {
    println!("Hello, world!");
    let a: u32 = 1000000000;
    let b: u32 = 2000000000;
    let ab: u32 = a * b;
    println!("{}", ab);
}

$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
     Running `/home/intelfx/example/target/debug/example`
Hello, world!
thread 'main' panicked at 'attempt to multiply with overflow', src/main.rs:5:19
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

$ cargo run --release
    Finished release [optimized] target(s) in 0.00s
     Running `/home/intelfx/example/target/release/example`
Hello, world!
1321730048

и какое он имеет отношение к искомой площади прямоугольника?

Он будет остатком от деления искомой площади треугольника на 2^32.

$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
scale=0
(1000000000 * 2000000000) % (2^32)
1321730048

Исходная версия intelfx, :

каков будет результат

$ cat main.rs               
fn main() {
    println!("Hello, world!");
    let a: u32 = 1000000000;
    let b: u32 = 2000000000;
    let ab: u32 = a * b;
    println!("{}", ab);
}

$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
     Running `/home/intelfx/example/target/debug/example`
Hello, world!
thread 'main' panicked at 'attempt to multiply with overflow', src/main.rs:5:19
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

$ cargo run --release
    Finished release [optimized] target(s) in 0.00s
     Running `/home/intelfx/example/target/release/example`
Hello, world!
1321730048

и какое он имеет отношение к искомой площади прямоугольника?

$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
scale=0
(1000000000 * 2000000000) % (2^32)
1321730048