Programming/C++14
[C++14] Binary Literal (이진 상수)
cloudstudyJ
2024. 3. 29. 16:39
C++14에 새로 생긴 Language Feature로, 2진수 상수를 직접 작성할 수 있다.
상수 선언 시 접두사로 "0b" 혹은 "0B" 를 붙여주어 사용한다.
int main() {
int binNumber1 = 0b00001000; // == Decimal 8
int binNumber2 = 0B00001101; // == Decimal 13
return 0;
}
+ 8진수나 16진수도 가능하다.
- 8진수: 상수 선언 시 접두사로 '0' 사용
- 16진수: 상수 선언 시 접두사로 "0x" 혹은 "0X" 사용
* 16진수의 경우 대/소문자를 구분하지 않는다 (섞어 써도 상관 없다)
int main() {
int octNumber = 075; // == Decimal 61
int hexNumber1 = 0x0000AD07; // == Decimal 44295
int hexNumber2 = 0X7aCf; // == Decimal 31439
return 0;
}
※ 만약 16진수 상수가 'e' 혹은 'E' 로 끝나면서 '+' 혹은 '-' 연산자를 함께 사용하는 경우
띄워쓰기나 괄호를 통해서 서로 분리해주어야 한다.
int main() {
auto x = 0xE+2.0; // ERROR
auto y = 0xE + 2.0; // OK
auto z = (0xE)+2.0; // OK
auto w = 0xa+2.0; // OK
return 0;
}
Reference