비트 연산

한 개 혹은 두 개의 이진수에 대해 비트 단위로 적용되는 연산

비트 연산(bitwise operation)은 한 개 혹은 두 개의 이진수에 대해 비트 단위로 적용되는 연산이다.

NOT 연산은 각 자릿수의 값을 반대로 바꾸는 연산이다.

NOT 0111
  = 1000

C / C++

x = ~y;

델파이

x := not y;

이 연산은 어떤 값의 보수를 구할 때 효과적으로 사용할 수 있다.

OR 연산은 두 값의 각 자릿수를 비교해, 둘 중 하나라도 1이 있다면 1을, 아니면 0을 계산한다.

비트 1 비트 2 결과
0 0 0
0 1 1
1 0 1
1 1 1
   0101
OR 0011
 = 0111

C / C++

x = y | z;

델파이

x := y or z;

XOR 연산은 두 값의 각 자릿수를 비교해, 값이 같으면 0, 다르면 1을 계산한다.

비트 1 비트 2 결과
0 0 0
0 1 1
1 0 1
1 1 0
    0101
XOR 0011
  = 0110

C / C++

x = y ^ z;

델파이

x := y xor z;

AND 연산은 두 값의 각 자릿수를 비교해, 두 값 모두에 1이 있을 때에만 1을, 나머지 경우에는 0을 계산한다.

비트 1 비트 2 결과
0 0 0
0 1 0
1 0 0
1 1 1
    0101
AND 0011
  = 0001

C / C++

x = y & z;

델파이

x := y and z;

같이 보기

편집