회신: 24.7 시프트 연산
, 도장_ 관리자님이 작성시프트를 쓰는 이유는 C 언어에는 2진수 리터럴을 표현하는 방법이 없기 때문이기도 합니다.
int x = 0b00000111; // 숫자 7
이와 같이 0b를 접두어로 사용해서 2진수 리터럴을 입력하는 방법이 없습니다. 따라서 필요에 따라 시프트 연산을 사용합니다.(시프트 연산과 OR 연산의 조합 등을 활용하여...)
GCC 컴파일러는 자체 확장 기능으로 위와 같은 표현을 허용하지만, C 언어 표준은 아니며 VC++이나 다른 C 언어 컴파일러에서 지원하지 않습니다.
C++14에서는 위와 같은 표현이 가능합니다.