C++ 14부터 비트 마스크를 이진법으로 표현해도 가독성 있게 작성하는 방법이 등장했다.
C++ 11까지의 비트 마스크 표현
C++11까지는 비트 마스크를 표현하기 위하여 16진법을 사용하여 표현하는 것이 가장 가독성이 좋았다.
const unsigned int red_mask = 0xFF0000;
const unsigned int green_mask = 0x00FF00;
const unsigned int blue_mask = 0x0000FF;
예시 코드처럼 16진수 두 자리를 통해 rgb 값을 표현해서 비트 마스크로 사용할 수 있겠다.
C++ 14부터 추가된 비트 마스크 표현
C++ 14부터는 숫자의 단위를 좀 더 명확하게 끊어주기 위한 기호가 추가되었다. 숫자 자리수를 끊어주기 위한 기호이기 때문에 비트 마스크 이외의 용도로도 활용성이 있다는 것을 알아두자!
const unsigned int blue_mask = 0b1111'1111;
이진법으로 blue에 대한 비트 마스크를 정의했는데, 이진수의 경우 4자리씩 끊어서 보는 게 가독성에 좋다. 키보드에서 : 키 오른쪽으로 한 칸 이동한 위치에 있는 '(홑 따옴표) 기호를 이용하면 숫자 사이 자리를 끊어서 표현할 수 있다. 우리가 보기엔 기호가 숫자 사이에 들어가 있어서 문제가 생길 것 같지만 컴파일러는 해당 기호를 삭제하고서 온전히 숫자만 읽는다. 우리가 엔터 및 띄어쓰기를 통한 가독성을 높이는 행위처럼 컴파일러 입장에서는 숫자 사이에 들어있을 때 아무것도 아닌 기호가 된다.
'Programming Language > Modern C++' 카테고리의 다른 글
[C++ 11] 열거형 클래스 enum class (0) | 2021.12.04 |
---|---|
[C++ 11] auto 키워드와 자료형 추론 (0) | 2021.11.15 |
[C++ 11] chrono 라이브러리와 시간 측정 방법 (0) | 2021.11.12 |
[C++ 11] typedef와 using 키워드의 차이점 (0) | 2021.11.09 |
[C++ 11] for문 간결하게 쓰기(auto 키워드) (0) | 2021.10.31 |