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자리씩 끊어서 보는 게 가독성에 좋다. 키보드에서 : 키 오른쪽으로 한 칸 이동한 위치에 있는 '(홑 따옴표) 기호를 이용하면 숫자 사이 자리를 끊어서 표현할 수 있다. 우리가 보기엔 기호가 숫자 사이에 들어가 있어서 문제가 생길 것 같지만 컴파일러는 해당 기호를 삭제하고서 온전히 숫자만 읽는다. 우리가 엔터 및 띄어쓰기를 통한 가독성을 높이는 행위처럼 컴파일러 입장에서는 숫자 사이에 들어있을 때 아무것도 아닌 기호가 된다.

+ Recent posts