반응형
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의 다양한 스칼라 타입을 선언하고 사용한 것을 보여줍니다.
반응형
'언어 > Rust' 카테고리의 다른 글
[ Rust ] 유리수, 복소수, 없는 값 (null) 타입 (0) | 2024.09.08 |
---|---|
[ Rust ] 러스트는 비교시 타입이 달라서 에러가 난 경우 (0) | 2024.09.08 |
[ Rust ] 2, 8, 16 진수 - 정수 변수 선언하기 (0) | 2024.09.08 |
[ Rust ] 숫자 변수 선언하기 (0) | 2024.08.27 |
[ Rust ] 반복자 무효화(iterator invalidation)에 대해서 알아보기 (0) | 2024.08.27 |