Taking baby-developer steps
4-2. 연산자 - 비트 연산자 / 연산자 우선순위 본문
비트 연산자
비트 연산자란, 비트 단위의 연산을 하고자 할 때 사용할 수 있는 연산자들을 말한다. 비트 단위의 연산은 다음과 같이 수행할 수 있다.
~ 는 '부정'의 연산자로, 비트 단위 연산에서의 'Not'이다.[cf) 일반적으론 !가 Not의 의미] 부정의 연산자는 각각의 비트 단위 마다 0과 1을 뒤바꾼다.
&는 '그리고'를 뜻하는 연산자로서, 두 비트 중 쉽게 말해, 두개 다 1인 자리만 1값을 가지게 된다. 집합과 관련지어 생각하자면 교집합이라고 생각하면 된다.
|는 '또는'을 뜻하는 연산자로서, 두 비트 중 하나라도 1을 가지면 1값을 가진다. 합집합이라고 생각하면 된다.
^는 '배타적' 연산자로, 둘중 1개만 1일 때 1이 된다. 합집합에서 교집합을 뺀 부분이라고 생각하면 된다.
<< 왼쪽 시프트, >> 오른쪽 시프트 : 바로 뒤에오는 숫자만큼 왼쪽/오른쪽으로 비트를 민다고 생각하면된다. a<<n이라고 할때, a*(2의 n승) 의 값을 결과 값으로 가진다. 반대로 오른쪽 시프트를 수행하면, 2의 n승으로 나눈 값이 반환된다.
연산자 우선순위
C언어의 연산자 우선순위는 기본적으로 수학에서의 우선순위와 흡사하다.
'CS 지식 > C언어_basic' 카테고리의 다른 글
6. 반복문 - For문 / 무한루프 /While 문 / 중첩된 반복문/ for문과 while문의 관계 (0) | 2021.03.19 |
---|---|
5. 조건문 - IF 문 / Switch 문 (0) | 2021.03.19 |
4-1. 연산자 - 연산자와 피연산자/연산자의 종류 /이스케이프 시퀀스(=탈출 문자)/대입,산술,관계,논리,증감,삼항 연산자 (0) | 2021.03.18 |
3. 기본 입출력 - Scanf()/&(앰퍼샌드)/주소연산자/형식지정자 (0) | 2021.03.18 |
2-3. 변수와 상수 - 정수의 표현 방법/부호절대값 방식/2의 보수 방식/실수의 표현 방법 (0) | 2021.03.17 |
Comments