Software Workshop

C++에서 정수 리터럴을 사용할 때는 10진수, 16진수, 8진수만 사용 가능하다.

예를 들어 11이라고 하면 10진수로 11이고, 0x11이라고 하면 16진수이므로 10진수로 변환하면 17이 되고, 011이라고 하면 8진수이므로 10진수로 변환하면 9가 된다.

C++14에서는 2진수 정수 리터럴 사용이 도입되었고 0b나 0B를 prefix로 사용하면 된다.

다음 예제를 참고할 것

#include <iostream>

using namespace std;

int main(void)
{
    cout << 0b1 << endl;
    cout << 0b0 << endl;
    cout << 0b10 << endl;
    cout << 0b10001111 << endl;
    cout << 0B10001111 << endl;

    return 0;
}
1
0
2
143
143