Rustで2進数、8進数、16進数、複素数を扱う方法
目次
はじめに
Rustを初めて数日が経ちました。 今日は何をしてもダメな日ですが、タイトルのことを勧めていきましょう。
進数表記と、複素数を並べるのはナンセンスな気もどことなくしますが、良いでしょう。 やっていきましょう。
進数表記を取り扱う
Rustで進数を取り扱い場合、0bとかつければいいです。 表示するときには、println!の{}の中に色々詰め込めばいいです。
fn main() {
let binaly = 0b10;
let octal = 0o36;
let hex = 0x14;
println!("10進数 {},{},{}", binaly, octal, hex);
println!("16進数 {:x},{:x},{:x}", binaly, octal, hex);
println!("8進数 {:o},{:o},{:o}", binaly, octal, hex);
println!("2進数 {:b},{:b},{:b}", binaly, octal, hex);
}
実行結果
こんな感じです。
cargo run
Compiling hello-learn v0.1.0 (E:\SourceCode\Rust\hello-learn)
Finished dev [unoptimized + debuginfo] target(s) in 0.70s
Running `target\debug\hello-learn.exe`
10進数 2,30,20
16進数 2,1e,14
8進数 2,36,24
2進数 10,11110,10100
複素数
Cargo.toml
Cargo.tomlの中にこのように追加します。
[dependencies]
num-complex = "0.4"
Cargo runで実行すると、自動でDLできるのが良いですね。
Complex
fn main() {
let a = num_complex::Complex { re: 2.1, im: -1.2 };
let b = num_complex::Complex::new(11.1, 22.2);
let result = a + b;
println!("{} + {}i", result.re, result.im);
}
実行結果
こんな感じ。
cargo run
Compiling hello-learn v0.1.0 (E:\SourceCode\Rust\hello-learn)
Finished dev [unoptimized + debuginfo] target(s) in 0.70s
Running `target\debug\hello-learn.exe`
13.2 + 21i
まとめ
今日は何も思いつかない。 ほんと何も出てこない。