반응형
비트 연산자 | 연산식 | 설명 |
& | a & b | 비트 단위 AND 연산 |
| | a | b | 비트 단위 OR 연산 |
^ | a ^ b | 비트 단위 XOR 연산 |
~ | ~a | 비트 단위 NOT 연산 |
<< | a << 3 | 왼쪽으로 비트 세 칸 이동 |
>> | a >> 1 | 오른쪽으로 비트 한 칸 이동 |
~ 연산자는 비트 단위로 NOT 연산을 수행하며 보통 보수 연산이라고 합니다. 비트를 반전시킵니다.
연산자 | 피연산자 | 결과 |
~ | 0 | 1 |
~ | 1 | 0 |
예제를 통해서 ~연산자를 알아보도록 하겠습니다.
5행에서 정수형 변수 num1를 비트 단위로 10진수를 2진수로 변환한 후,
연산자 - 비트 연산자(2진수, 10진수, 16진수, 8진수)
일상에서 사용하는 수의 표현법은 10개의 숫자(0에서 9)를 이용하는 10진수 체계를 사용합니다. 그렇지만, 컴퓨팅 세계에서 사용하는 수의 표현법은 2개의 숫자(0과 1)을 이용하는 2진수 체계, 16개
jcoding7.tistory.com
~(NOT) 연산해서 결과를 11행에서 변수 result1에 저장합니다.
그런데 결과가 1111 1111 1111 1111 1111 1111 1110 1011라고 합니다. 이것이 -21인지 어떻게 확인할 수 있을까요? 방법은 간단합니다. 음수 데이터를 확인할 때는 양수 데이터를 통해 구하게 되는데 먼저 1의 보수를 취합니다.(0을 1로, 1을 0으로 반전). 그런 다음에 1을 더합니다.
반응형
'프로그래밍언어 > C언어' 카테고리의 다른 글
연산자 우선순위 (0) | 2021.10.01 |
---|---|
비트 연산자 - << 연산자와 >> 연산자 (왼쪽시프트연산자, 오른쪽시프트연산자) (0) | 2021.09.30 |
비트 연산자 - ^ (비트XOR연산자) (0) | 2021.09.28 |
비트 연산자 - | (비트OR연산자) (0) | 2021.09.27 |
비트 연산자 - & (비트AND연산자) (0) | 2021.09.25 |
댓글