スカラー型
単一の値を持つ型です。 Rustには以下のスカラー型があります。
符号付き整数(i8, i16, i32, i64, i128, isize)
符号付き整数型は、正の数と負の数の両方を表現できます。以下に各型の範囲とサンプルコードを示します。
- i8: 8ビット符号付き整数。
- i16: 16ビット符号付き整数。
- i32: 32ビット符号付き整数。
- i64: 64ビット符号付き整数。
- i128: 128ビット符号付き整数。
- isize: ポインタサイズ符号付き整数。範囲はアーキテクチャ依存(32ビットまたは64ビット)。
fn main() { let a: i8 = -128; let b: i16 = 32767; let c: i32 = -2147483648; let d: i64 = 9223372036854775807; let e: i128 = -170141183460469231731687303715884105728; let f: isize = 42; // 32ビットまたは64ビットの範囲内 println!("i8: {}, i16: {}, i32: {}, i64: {}, i128: {}, isize: {}", a, b, c, d, e, f); }
符号なし整数(u8, u16, u32, u64, u128, usize)
符号なし整数型は、正の数のみを表現します。以下に各型の範囲とサンプルコードを示します。
- u8: 8ビット符号なし整数。
- u16: 16ビット符号なし整数。
- u32: 32ビット符号なし整数。
- u64: 64ビット符号なし整数。
- u128: 128ビット符号なし整数。
- usize: ポインタサイズ符号なし整数。範囲はアーキテクチャ依存(32ビットまたは64ビット)。
fn main() { let a: u8 = 255; let b: u16 = 65535; let c: u32 = 4294967295; let d: u64 = 18446744073709551615; let e: u128 = 340282366920938463463374607431768211455; let f: usize = 42; // 32ビットまたは64ビットの範囲内 println!("u8: {}, u16: {}, u32: {}, u64: {}, u128: {}, usize: {}", a, b, c, d, e, f); }
浮動小数点型
Rustには2種類の浮動小数点型があります。これらはIEEE-754標準に準拠しています。
- f32: 32ビット浮動小数点数。単精度浮動小数点数とも呼ばれます。
- f64: 64ビット浮動小数点数。倍精度浮動小数点数とも呼ばれます。
f32
32ビット浮動小数点数は、約7桁の精度を持ちます。以下にf32型のサンプルコードを示します。
fn main() { let a: f32 = 3.14; let b: f32 = 2.71828; let c: f32 = 1.41421; println!("f32 values: a = {}, b = {}, c = {}", a, b, c); }
f64
64ビット浮動小数点数は、約15桁の精度を持ちます。以下にf64型のサンプルコードを示します。
fn main() { let a: f64 = 3.141592653589793; let b: f64 = 2.718281828459045; let c: f64 = 1.4142135623730951; println!("f64 values: a = {}, b = {}, c = {}", a, b, c); }
浮動小数点の演算
浮動小数点型を使った基本的な演算も可能です。以下にいくつかの例を示します。
fn main() { let x: f64 = 1.0; let y: f64 = 3.0; let sum = x + y; let difference = x - y; let product = x * y; let quotient = x / y; println!("Sum: {}", sum); println!("Difference: {}", difference); println!("Product: {}", product); println!("Quotient: {}", quotient); }
bool型(論理値型)
真偽値を表すbool型です。値はtrueまたはfalseです。
fn main() { let is_true: bool = true; let is_false: bool = false; println!("True: {}, False: {}", is_true, is_false); }
char型(文字型)
Unicodeのスカラ値を表すchar型です。シングルクォートで囲まれた一文字を表します。
fn main() { let letter: char = 'A'; let emoji: char = '😊'; println!("Letter: {}, Emoji: {}", letter, emoji); }