スカラー型

単一の値を持つ型です。 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);
}