Rustの型変換まわりを頭の整理がてらまとめました。 cast Rustではas演算子でキャストを行えます。 as演算子は数値やbool, char, ポインタ等一部の型のみで利用できます。 as演算子はパニックを起こさないので安心して利用できます。 整数のキャストの例を載せておきます。 // 整数のサイズが変わらない場合はデータ自体に変更はなく、 // 型の解釈が変わるだけ let x: u8 = 150; let y = x as i8; assert_eq!(y, -106); assert_eq!(format!("{:b}", x), "10010110"); assert_eq!(format!("{:b}", y), "10010110"); // 整数のサイズが小さくなる場合は上位ビットが切り詰められる let x: u16 = 500; let y = x as i8;