C 언어의 비트 연산자를 사용할 때엔 우선순위를 항상 생각할 것

C 언어가 어렵게 느껴지는 이유 중 하나로 연산자 우선순위가 있습니다. C 언어의 연산자 우선순위는 자연스럽게 이해될 수 있는 게 아닙니다. 언어 제작자가 자신이 좋아하는 방식대로 정해 놓았을 뿐이고, 언어를 배우는 사람은 이해가 안 돼도 따라야 하는 규칙일 뿐입니다.

특히 비트 연산자의 우선순위는 상당히 의문스럽습니다. &, ^, 그리고 |와 같은 비트 연산자는 ==와 != 같은 비교 연산자보다도 우선순위가 낮습니다. 그래서 비트 연산자를 괄호로 묶어 주지 않으면 예상과 전혀 다른 동작을 할 때가 많습니다.

비트 연산자가 있는 소스 코드가 제대로 동작하지 않는다면 연산자 우선순위를 꼭 확인해 봐야 합니다.

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중