Skill/C,C#,C++
연산자 우선순위와 비트연산
steadilee
2023. 2. 7. 11:33
연산자
- 기능이 있는 특수문자
- 연산자 우선순위 : 최> 단 > 산 > 쉬 > 관 > (논)리 > 삼 > 대
- 최우선 연산자
- 단항연산자
- 산술연산자
- 쉬프트 연산자
- 관계연산자
- 논리연산자
- 삼항 연산자
- 대입연산자
- 결합성 : 하나의 수식에 동일한 연산자가 있다면, 해당 연산자의 방향에 맞게 결합되어 연산되는 성질
- ( ex: 3+5+9 ⇒ (3+5) + 9 )
비트 연산
- 정보 8개(8비트) = 1 byte
- 해당 연산자 : 논리연산자, 단항 연산자, 쉬프트 연산자
- 논리연산자
- & (AND, 논리곱) : a & b → 2진수 만들어서 각 자리수 곱한 결과와 같음
- | (OR, 논리합) : a | b → 두 비트 중 하나라도 1이면 1
- ^ (XOR, 배타논리합) : a ^ b → 두 비트가 같은값이면 0
- 단항 연산자
- ~ NOT, 논리부정 : ~a, 1을 0으로, 0을 1로 반대로 바꿔줌
- 최상위 비트가 1이면 (-), 0이면 (+)
- 10강. ~10 ⇒ -11 이라는 것을 증명하시오
- 쉬프트 연산자 : 빈자리는 0으로 채워지고(음수1로) 비트가 넘어가면 잘린다.
- << 좌쉬프트 : a << b , a를 b만큼 좌로 비트 이동
- 우쉬프트 : a >> b , a를 b만큼 우로 비트 이동
- 비트연산의 실제 활용
- RGB, IP주소