위키백과, 우리 모두의 백과사전.
비트 연산(bitwise operation)은 한 개 혹은 두 개의 이진수에 대해 비트 단위로 적용되는 연산이다.
NOT[편집]
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[편집]
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[편집]
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;