Rust-资料型别-整数、浮点数

Rust是静态型别语言,所以在编译时需要知道变数的型别是什麽

前面的程序范例很多是没有宣吿型别但是却可以编译,这边用到的是透过

通常编译器能通过数值来推导型别是什麽

Rust 有四种主要纯量型别:整数、浮点数、布林以及字元

整数型别

整数是没有小数点的数字,分有带号(signed)跟非带号(unsigned),差别就是一个有负值一个没有负值

带号范围-(2^n - 1) 到 (2^n - 1) - 1

非带号范围0到2^n - 1

isize跟usize则是依据运行环境的电脑是32位元还是还64位元决定大小

Rust预设整数型别是i32
https://ithelp.ithome.com.tw/upload/images/20210910/20129675QRiTSVLrMG.png

溢位问题

Rust在执行时会检查是否有溢位

let mut n: i32 = i32::max_value();
 
// Overflow
n = n + 1;

出现panic错误
thread 'main' panicked at 'attempt to add with overflow'

如果你想要让溢位也视为正常的可以在编译时增加参数


// rustc用法
rustc -O main.rs

// cargo用法
cargo build --release

浮点数型别

浮点数只有两种型别

  • f32 32位元大小
  • f64 64位元大小

浮点数是依照 IEEE-754

Rust预设浮点数型别是f64


<<:  [13th][Day4] defer fallthrough

>>:  Day.6 留个纪录好办事 - Mysql Log (日志纪录)-下

【Day 27】NumPy (4):np.sqrt(), np.square()

前言 今天要来介绍一下用於数学运算的函式,sqrt 开根号,以及 square 平方 NumPy n...

Day 0x5 UVa10062 Tell me the frequencies!

Virtual Judge ZeroJudge 题意 对每一列输入,输出各字元的 ASCII &a...

Day21 样式变化(动画)5

列表移动过渡(List move transition) 不仅可以做出淡出与淡入,还可以改变位置,只...

见习村30 - A Chain adding function

30 - A Chain adding function Don't say so much, ju...

DAY2 FLOAT布局 - 搞懂他爱出轨的心

布局的方法很多,float是比较难懂的一个。float的经典有文绕图、三栏布局中的圣杯布局和双飞翼布...