2.1 Literals and operators

정수형 1, 부동형 1.2, 문자형 'a', 문자열 "abc", boolean형 true 그리고 () 같은 유닛 형이 리터럴로 표현될 수 있다.

정수형은 0x, 0o, 0b 같은 접두사를 사용하여 16진수, 8진수 혹은 2진수로 표현될 수 있다.

숫자 리터럴은 밑줄을 통해 가독성을 향상시킬 수 있다, 예 1_0001000과 같고, 0.000_0010.000001과 같다.

우리는 컴파일러에게 우리가 사용하는 리터럴의 타입을 알려줄 필요가 있다. 여기서 u32는 접미어로 사용되어 부호 없는 32-비트 정수를 나타내고, i32 접미어는 부호 있는 32-비트 정수형을 나타낸다.

연산자의 허용과 우선 순위는 Rust에 따르며 C-like languages 와 유사하다.

fn main() {
    // 정수 더하기
    println!("1 + 2 = {}", 1u32 + 2);

    // 정수 빼기 
    println!("1 - 2 = {}", 1i32 - 2);
    // TODO ^ `1i32`를 `1u32`로 변경하여 왜 타입이 중요한지 알아보세요.

    // 짧은 boolean 논리 연산 
    println!("true AND false is {}", true && false);
    println!("true OR false is {}", true || false);
    println!("NOT true is {}", !true);

    // 비트 연산
    println!("0011 AND 0101 is {:04b}", 0b0011u32 & 0b0101);
    println!("0011 OR 0101 is {:04b}", 0b0011u32 | 0b0101);
    println!("0011 XOR 0101 is {:04b}", 0b0011u32 ^ 0b0101);
    println!("1 << 5 is {}", 1u32 << 5);
    println!("0x80 >> 2 is 0x{:x}", 0x80u32 >> 2);

    // 밑줄을 사용하여 가독성 올려버리기~
    println!("One million is written as {}", 1_000_000u32);
}

results matching ""

    No results matching ""