본문 바로가기
프로그래밍언어/C언어

비트 연산자 - ~ (비트NOT연산자)

by J코딩 2021. 9. 29.
반응형
비트 연산자 연산식 설명
& a & b 비트 단위 AND 연산
| a | b 비트 단위 OR 연산
^ a ^ b 비트 단위 XOR 연산
~ ~a 비트 단위 NOT 연산
<< a << 3 왼쪽으로 비트 세 칸 이동
>> a >> 1 오른쪽으로 비트 한 칸 이동

~ 연산자는 비트 단위로 NOT 연산을 수행하며 보통 보수 연산이라고 합니다. 비트를 반전시킵니다.

연산자 피연산자 결과
~ 0 1
~ 1 0

예제를 통해서 ~연산자를 알아보도록 하겠습니다.

5행에서 정수형 변수 num1를 비트 단위로 10진수를 2진수로 변환한 후,

https://jcoding7.tistory.com/entry/%EC%97%B0%EC%82%B0%EC%9E%90-%EB%B9%84%ED%8A%B8-%EC%97%B0%EC%82%B0%EC%9E%902%EC%A7%84%EC%88%98-10%EC%A7%84%EC%88%98-16%EC%A7%84%EC%88%98-8%EC%A7%84%EC%88%98

 

연산자 - 비트 연산자(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을 더합니다.

 

반응형

댓글