Исправление 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