Rust では、数字には 2 つの異なるカテゴリがあります。
数値型の名前は、2 つの部分から成ります。
浮動小数点数 (f)、符号なし整数 (u)、符号付き整数 (i) のいずれかを指定する文字。 型の大きさをビット数で表す数字。大きな型ほど、最小値と最大値の幅が大きくなります。浮動小数点の場合、小数点の区切り文字の後ろにさらに数字を入れることもできるようになります。 以下の組み合わせが可能です。
u8
, i8
u16
, i16
u32
, i32
, f32
u64
, i64
, f64
u128
, i128
浮動小数点数には32ビットと64ビットしかないことに注意。
整数:小数点以下の桁数がない数値(整数)。整数型には正の数だけを格納するもの(符号なし)と、正の数と負の数の両方を格納するもの(符号あり)があります。例として、-6、0、1、25、976、500000があります。 浮動小数点数 浮動小数点数:小数点以下の桁数が0以上の数値。例:-2.4, 0.1, 3.14, 16.984025, 1024.0など。
Rust は暗黙のうちに型変換を行うことはありません。つまり、ある数値型から別の数値型に変換する必要がある場合は、明示的に行う必要があります。大きな型から小さな型に変換する場合(例えばu64からu32)、データを失う可能性があります。浮動小数点から整数に変換する場合、小数点以下は失われ、事実上切り捨てになります。
.div_euclid() や .rem_euclid() についての解説 https://zenn.dev/toga/books/rust-atcoder-old/viewer/10-assert