따배씨++ (2.6 Literal Constants)

김동우·2021년 4월 9일
0

안녕하십니까. 김동우입니다.

이번 내용은 리터럴 상수에 대한 내용입니다.

아래 코드 첨부하겠습니다.

#include <iostream>

int main()
{
    using namespace std;

    float pi(3.14f); // f가 없는 선언의 경우 부동소수점이 double로 선언된다.
    const float pi2(3.14); // JS 에서의 const와 비슷
    int i(12345u); // 이러한 경우 unsigned가 되는데, 좋은 방식은 아니다.
    // 애초에 unsigned 자료형을 casting 해주도록 한다.
    unsigned int i2 = 12345u;
    long l = 5L;
    double d = 6.0e-10;

    cout << pi << " " << pi2 << " " << i << endl;
    cout << i2 << " " << l << " " << d << '\n' << endl;

    // Decimal : 0 1 2 3 4 5 6 7 8 9 10
    // Octal : 0 1 2 3 4 5 6 7 10 11 12 13
    // Hexa : 0 1 2 3 4 5 6 7 8 9 A B C D E F 10
    // 0011 1010 1111 1111 
    // 3AFF

    int x = 012; // input - Octal, output : 10
    int x2 = 0xF; // input - Hexa, output : 15
    int x3 = 0b0011'1010'1111'1111; // input - Binary, output : 15103
    // '를 binary 사이에 삽입하면 컴파일러는 무시한다.
    int x4 = 0X3AFF; // x3 = x4, output : 15103

    cout << x << " " << x2 << " " << x3 << " " << x4 << endl;

    const int price_per_item(10); // magic number 직접 사용을 회피한다.
    int num_items(123);
    int price(num_items*price_per_item);

    // 주석을 달아두는 것도 중요하지만, 그보다 명확히 알 수 있도록 상수를 직접
    // 공식에 대입하는 것이 아니라 변수명을 작명한 이후 초기화해주는 것이 바람직하다.
    return 0;
}

그럼 이번 글은 여기서 마치도록 하겠습니다.

0개의 댓글

관련 채용 정보