1. 비트 &
연산자
우리는 이전에 모든 데이터가 이진 표현으로 메모리에 저장된다고 말했습니다. 꽤 오래 전에 프로그래머들은 이진수로 작업하는 흥미로운 방법을 많이 생각해 냈습니다. 예를 들어 Java에는 (AND), , (NOT 또는 보수) 및 (XOR - 배타적 논리합)과 같이 숫자의 이진 표현 비트에서 작동하는 논리 연산자가 있습니다 .&
| (OR)
~
^
a & b
&
(AND) 연산자
이 연산자는 논리 &
(AND) 연산자와 매우 유사하지만 두 개가 아닌 단일 앰퍼샌드로 표시됩니다.
그리고 개별 비트에 적용됩니다. 각 피연산자는 비트 배열로 취급되며 i
결과의 th 비트는 i
두 피연산자의 각각의 th 비트를 사용하여 계산됩니다.
결과의 첫 번째 비트는 숫자의 첫 번째 비트 a
와 숫자의 첫 번째 비트 b
, 두 번째 비트 — 숫자의 두 번째 비트 a
와 숫자의 두 번째 비트 b
등을 기반으로 계산됩니다.
(AND) 연산자 는 "숫자의 해당 비트가 1과 같을 &
때만 결과 비트가 1과 같음"을 의미 합니다 .a
AND
b
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
예:
예 | 결과 |
---|---|
|
|
|
|
|
|
|
|
2. 비트 |
연산자
이 연산자는 논리 |
(OR) 연산자와 매우 유사하지만 두 개가 아닌 하나의 수직선으로 표시됩니다.
a | b
그리고 개별 비트에 적용됩니다. 각 피연산자는 비트 배열로 취급되며 결과의 i번째 비트는 두 피연산자의 i번째 비트를 사용하여 계산됩니다.
비트 |
(OR) 연산자는 "숫자의 해당 비트가 1과 같으면 결과 비트가 a
1이고 OR
숫자의 해당 비트가 b
1과 같다"는 의미입니다.
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
예:
예 | 결과 |
---|---|
|
|
|
|
|
|
|
|
두 숫자의 해당 비트(동일한 위치에 있는 비트)가 0인 경우에만 결과의 해당 비트가 0이 됩니다.
3. 비트 ^
(XOR 또는 "배타적 OR") 연산자
배타적 또는XOR
라고도 발음되는 연산자는 기호 로 표시됩니다 . 키보드로 입력하려면 shift + 6 (영어 키보드 레이아웃)을 누릅니다.^
a ^ b
OR
이 연산자는 이름이 비슷하다는 점을 포함하여 연산자 와 다소 유사합니다 .XOR
비트 ^
(XOR) 연산자는 "숫자의 해당 비트가 1과 같으면 결과 비트는 a
1과 같고 OR
숫자의 해당 비트는 b
1과 같지만 동시에 둘 다는 아님"을 의미합니다.
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
예:
예 | 결과 |
---|---|
|
|
|
|
|
|
|
|
두 숫자의 해당 비트(동일한 위치에 있는 비트)가 다른 경우에만 결과의 해당 비트가 1이 됩니다 . 비트가 같으면 결과 비트는 0 입니다 .
4. 비트 ~
(NOT, COMPLEMENT) 연산자
나는 당신이 이미 그것이 무엇인지 짐작할 수 있다고 생각합니다. 이 연산자는 논리(NOT) 연산자와 매우 유사 하지만 느낌표 가 아닌 물결표 !
로 표시됩니다 .
~a
이것은 단항 연산자입니다. 즉, 두 개가 아닌 단일 숫자에 적용됩니다. 이 단일 피연산자 앞에 나타납니다.
비트 ~
연산자는 "숫자의 해당 비트가 0이면 결과 비트는 1 a
이고 숫자의 해당 비트가 a
1이면 0"을 의미합니다.
~1 = 0
~0 = 1
예:
예 | 결과 |
---|---|
|
|
|
|
|
|
|
|
1
이 연산자는 단순히 to 인 비트 0
와 to인 비트를 0
변경 합니다 1
.
GO TO FULL VERSION