본문 바로가기

언어/Rust

[ Rust ] 숫자 타입 - 스칼라 수를 표현할 수 있는 러스트 타입

반응형

Rust에서 스칼라 수를 나타내는 타입은 다음과 같은 네 가지 주요 범주로 나눌 수 있습니다. 각 범주 내에서 다양한 타입이 존재하며, 그들은 모두 단일 값을 표현합니다.

1. 정수 (Integers)

정수는 부호가 있는 타입과 부호가 없는 타입으로 나눌 수 있으며, 각각 저장할 수 있는 값의 범위가 다릅니다.

  • 부호 있는 정수 (Signed integers): i8, i16, i32, i64, i128, isize
    • 부호가 있으므로 음수와 양수를 모두 표현할 수 있습니다.
    • 예: i32는 -2,147,483,648부터 2,147,483,647까지의 값을 가질 수 있습니다.
  • 부호 없는 정수 (Unsigned integers): u8, u16, u32, u64, u128, usize
    • 부호가 없으므로 0 이상의 양수만을 표현할 수 있습니다.
    • 예: u32는 0부터 4,294,967,295까지의 값을 가질 수 있습니다.

 

타입 크기 범위
i8 8비트 -128부터 127까지
i16 16비트 -32,768부터 32,767까지
i32 32비트 -2,147,483,648부터 2,147,483,647까지
i64 64비트 -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지
i128 128비트 -170,141,183,460,469,231,731,687,303,715,884,105,728부터 170,141,183,460,469,231,731,687,303,715,884,105,727까지
isize 포인터크기 플랫폼의 주소 공간 크기에 따라 달라집니다 (32비트 또는 64비트)

 

타입 크기 범위
u8 8비트 0부터 255까지
u16 16비트 0부터 65,535까지
u32 32비트 0부터 4,294,967,295까지
u64 64비트 0부터 18,446,744,073,709,551,615까지
u128 128비트 0부터 340,282,366,920,938,463,463,374,607,431,768,211,455까지
usize 포인터 크기 플랫폼의 주소 공간 크기에 따라 달라집니다 (32비트 또는 64비트)

 

2. 부동 소수점 숫자 (Floating-Point Numbers)

부동 소수점 숫자는 소수점이 있는 실수를 표현할 때 사용합니다. Rust에서는 두 가지 부동 소수점 타입을 제공합니다:

  • f32: 32비트 부동 소수점 숫자 (단정도)
  • f64: 64비트 부동 소수점 숫자 (배정도)

부동 소수점 타입은 IEEE-754 표준을 따릅니다.

3. 불리언 (Boolean)

불리언 타입은 논리적 참(true) 또는 거짓(false)만을 가집니다:

  • bool: 값은 true 또는 false만 가능합니다.

4. 문자 (Character)

Rust의 char 타입은 유니코드 스칼라 값을 표현하며, 한 글자를 나타낼 때 사용됩니다. Rust의 char 타입은 4바이트(32비트) 크기로, UTF-8에서 유효한 모든 유니코드 문자를 저장할 수 있습니다.

  • char: 4바이트 유니코드 문자

예시 코드:

fn main() {
    // 정수 타입
    let a: i32 = -10;
    let b: u32 = 10;

    // 부동 소수점 타입
    let c: f64 = 3.1415;

    // 불리언 타입
    let d: bool = true;

    // 문자 타입
    let e: char = 'R';

    println!("정수 (i32): {}", a);
    println!("정수 (u32): {}", b);
    println!("부동 소수점 (f64): {}", c);
    println!("불리언: {}", d);
    println!("문자: {}", e);
}

위 예제에서는 Rust의 다양한 스칼라 타입을 선언하고 사용한 것을 보여줍니다.

반응형