논리적 AND, 논리적 OR 및 논리적 부정은 부울에 대한 가치 있는 연산이며 이산 수학의 범주에 속합니다. 비트별 AND, 비트별 OR 및 비트별 NOT은 컴퓨터 비트에 대한 연산이며 컴퓨터 이진 비트 연산 범주에 속합니다. Logic 및 c의 &와 &&의 차이점은 둘 다 사실입니다. 논리적 OR 진실은 c의 || C에서는 false가 아닌 논리가 참입니다! . 비트별 AND, 비트별 OR, 비트별 NOT은 위의 규칙에 따라 각 비트에 대해 논리 연산을 수행합니다. 여기서 1은 참을 나타내고 0은 거짓을 나타냅니다.
비트 AND 연산 0&0=0; 0&1=0; 1&1=1
예: 10&9: 0000 1010 & 0000 1001 = 0000 1000 = 8
음수는 보수 형식으로 비트 AND 연산에 참여합니다
"AND 연산"의 특수 용도:
(1) 명확합니다. 셀을 0으로 지우려면 모든 이진 비트가 0이더라도 비트가 모두 0인 값과 AND하면 결과는 0이 됩니다.
(2) 숫자에서 지정된 비트를 가져옵니다
방법: X의 지정된 위치에서 가져올 비트에 해당하는 숫자를 찾습니다.
예: X=10101110이라고 가정하고,
의 하위 4자리를 취합니다.
비트별 OR 연산자(|)
연산에 참여하는 두 객체는 바이너리 비트를 기준으로 "OR" 연산을 수행합니다.
작업 규칙: 0|0=0; 1|0=1; 1|1=1; 즉, 작업에 참여하는 두 객체 중 하나가 값은 1입니다.
예: 3|5 즉, 0000 0011 | 0000 0101 = 0000 0111 따라서 3|5는 7의 가치가 있습니다.
또한 음수는 보수 형식의 비트 OR 연산에 참여합니다.
"OR 연산"의 특수 기능:
데이터의 특정 위치에 1을 설정하는 데 일반적으로 사용됩니다.
방법: 1로 설정할 X의 비트에 해당하는 숫자를 찾습니다. 숫자의 해당 비트는 1이고 나머지 비트는 0입니다. 이 숫자는 X를 기준으로 하거나 X의 일부 위치를 1로 설정합니다.
예: X=10100000의 하위 4비트를 1로 설정하고 X | 0000 1111 = 1010 1111을 사용하여 가져옵니다.
XOR 연산자(^)
연산에 참여하는 두 데이터는 바이너리 비트를 기준으로 "XOR" 연산을 수행합니다.
작업 규칙: 0^0=0; 1^0=1; 1^1=0; 즉, 두 개의 해당 비트가 "배타적"인 경우 작업에 참여합니다. (값이 다름), 이 비트의 결과는 1이고, 그렇지 않으면 0입니다.
예: 10^-9, 즉 0000 1010 ^ 1111 0111 = 1111 1101(보완 코드) 원래 코드는 1000 0011, 즉 10^-9 = -3
"XOR 연산의 특수 기능입니다. ":
(1 ) 특정 비트를 뒤집어 해당 비트에 해당하는 숫자를 찾습니다.
예: X=10101110, X의 하위 4비트를 뒤집고 X ^ 0000 1111 = 1010 0001을 사용합니다.
(2) 0을 XOR하면 원래 값인 X ^ 0000 0000 = 1010 1110을 유지합니다.
a와 b를 바꾸세요
방법 1 방법 2
1.a=a^b 1.a= a-b
2.b=b^a 2.b= a+b
3. a=a^b 3.a= b-a
왼쪽 시프트 연산자(<<)
는 피연산자의 모든 이진 비트를 특정 비트 수만큼 왼쪽으로 이동합니다(왼쪽 이진 비트는 버려지고 오른쪽 비트는 0으로 채워집니다).
예: a = a << 2 a의 이진수 비트를 왼쪽으로 2비트 이동하고 오른쪽에 0을 추가합니다.
왼쪽으로 1비트 이동한 후 a = a * 2;
If 왼쪽으로 시프트할 때 버려지는 상위 비트에는 1이 포함되지 않으며, 각 왼쪽 시프트는 숫자에 2를 곱하는 것과 같습니다.
6. 오른쪽 이동 연산자(>>)
숫자의 모든 이진수를 특정 비트 수만큼 오른쪽으로 이동합니다. 양수는 왼쪽으로 0으로 채워지고 음수는 1로 채워집니다. 왼쪽, 오른쪽은 버려집니다.
피연산자를 오른쪽으로 1비트씩 이동하는 것은 숫자를 2로 나누는 것과 같습니다.
예: a = a >> 2 a의 이진 비트를 오른쪽으로 2비트 이동합니다.
이동되는 숫자가 양수인지 음수인지에 따라 왼쪽에 0 또는 1을 추가합니다.
>> 연산자는 표현식1의 모든 비트를 표현식2에서 지정한 비트 수만큼 오른쪽으로 이동합니다. 표현식1의 부호 비트는 오른쪽 시프트 후 왼쪽 비워진 비트를 채우는 데 사용됩니다. 오른쪽으로 이동된 비트는 버려집니다.
예를 들어 다음 코드를 평가한 후 temp 값은 -4입니다.
var temp = -14 >> 2
-14(예: 이진수로 11110010) 오른쪽으로 두 자리 이동한 값은 - 4(즉, 이진수로 11111100).
부호 없는 오른쪽 이동 연산자(>>>)
>>> 이 연산자는 표현식1의 각 비트를 표현식2에서 지정한 자릿수만큼 오른쪽으로 이동합니다. 오른쪽으로 시프트한 후 왼쪽의 비어 있는 비트는 0으로 채워집니다. 오른쪽으로 이동된 비트는 버려집니다.
이것들은 단지 전채요리일 뿐이므로 PHP 학습에 대한 흥미가 떨어지므로 먼저 건너뛰고 실제 상황에 따라 고려해 보세요. 그걸 써.
논리적 AND, 논리적 OR 및 논리적 부정은 부울에 대한 가치 있는 연산이며 이산 수학의 범주에 속합니다.
비트별 AND, 비트별 OR 및 비트별 NOT은 컴퓨터 비트에 대한 연산이며 컴퓨터 이진 비트 연산 범주에 속합니다.
Logic 및 c의 &와 &&의 차이점은 둘 다 사실입니다.
논리적 OR 진실은 c의 ||
C에서는 false가 아닌 논리가 참입니다! .
비트별 AND, 비트별 OR, 비트별 NOT은 위의 규칙에 따라 각 비트에 대해 논리 연산을 수행합니다. 여기서 1은 참을 나타내고 0은 거짓을 나타냅니다.
비트 AND 연산 0&0=0; 0&1=0; 1&1=1
예: 10&9: 0000 1010 & 0000 1001 = 0000 1000 = 8
음수는 보수 형식으로 비트 AND 연산에 참여합니다
"AND 연산"의 특수 용도:
(1) 명확합니다. 셀을 0으로 지우려면 모든 이진 비트가 0이더라도 비트가 모두 0인 값과 AND하면 결과는 0이 됩니다.
(2) 숫자에서 지정된 비트를 가져옵니다
방법: X의 지정된 위치에서 가져올 비트에 해당하는 숫자를 찾습니다.
예: X=10101110이라고 가정하고,
의 하위 4자리를 취합니다.
비트별 OR 연산자(|)
연산에 참여하는 두 객체는 바이너리 비트를 기준으로 "OR" 연산을 수행합니다.
작업 규칙: 0|0=0; 1|0=1; 1|1=1; 즉, 작업에 참여하는 두 객체 중 하나가 값은 1입니다.
예: 3|5 즉, 0000 0011 | 0000 0101 = 0000 0111 따라서 3|5는 7의 가치가 있습니다.
또한 음수는 보수 형식의 비트 OR 연산에 참여합니다.
"OR 연산"의 특수 기능:
데이터의 특정 위치에 1을 설정하는 데 일반적으로 사용됩니다.
방법: 1로 설정할 X의 비트에 해당하는 숫자를 찾습니다. 숫자의 해당 비트는 1이고 나머지 비트는 0입니다. 이 숫자는 X를 기준으로 하거나 X의 일부 위치를 1로 설정합니다.
예: X=10100000의 하위 4비트를 1로 설정하고 X | 0000 1111 = 1010 1111을 사용하여 가져옵니다.
XOR 연산자(^)
연산에 참여하는 두 데이터는 바이너리 비트를 기준으로 "XOR" 연산을 수행합니다.
작업 규칙: 0^0=0; 1^0=1; 1^1=0; 즉, 두 개의 해당 비트가 "배타적"인 경우 작업에 참여합니다. (값이 다름), 이 비트의 결과는 1이고, 그렇지 않으면 0입니다.
예: 10^-9, 즉 0000 1010 ^ 1111 0111 = 1111 1101(보완 코드) 원래 코드는 1000 0011, 즉 10^-9 = -3
"XOR 연산의 특수 기능입니다. ":
(1 ) 특정 비트를 뒤집어 해당 비트에 해당하는 숫자를 찾습니다.
예: X=10101110, X의 하위 4비트를 뒤집고 X ^ 0000 1111 = 1010 0001을 사용합니다.
(2) 0을 XOR하면 원래 값인 X ^ 0000 0000 = 1010 1110을 유지합니다.
a와 b를 바꾸세요
방법 1 방법 2
1.a=a^b 1.a= a-b
2.b=b^a 2.b= a+b
3. a=a^b 3.a= b-a
왼쪽 시프트 연산자(<<)
는 피연산자의 모든 이진 비트를 특정 비트 수만큼 왼쪽으로 이동합니다(왼쪽 이진 비트는 버려지고 오른쪽 비트는 0으로 채워집니다).
예: a = a << 2 a의 이진수 비트를 왼쪽으로 2비트 이동하고 오른쪽에 0을 추가합니다.
왼쪽으로 1비트 이동한 후 a = a * 2;
If 왼쪽으로 시프트할 때 버려지는 상위 비트에는 1이 포함되지 않으며, 각 왼쪽 시프트는 숫자에 2를 곱하는 것과 같습니다.
6. 오른쪽 이동 연산자(>>)
숫자의 모든 이진수를 특정 비트 수만큼 오른쪽으로 이동합니다. 양수는 왼쪽으로 0으로 채워지고 음수는 1로 채워집니다. 왼쪽, 오른쪽은 버려집니다.
피연산자를 오른쪽으로 1비트씩 이동하는 것은 숫자를 2로 나누는 것과 같습니다.
예: a = a >> 2 a의 이진 비트를 오른쪽으로 2비트 이동합니다.
이동되는 숫자가 양수인지 음수인지에 따라 왼쪽에 0 또는 1을 추가합니다.
>> 연산자는 표현식1의 모든 비트를 표현식2에서 지정한 비트 수만큼 오른쪽으로 이동합니다. 표현식1의 부호 비트는 오른쪽 시프트 후 왼쪽 비워진 비트를 채우는 데 사용됩니다. 오른쪽으로 이동된 비트는 버려집니다.
예를 들어 다음 코드를 평가한 후 temp 값은 -4입니다.
var temp = -14 >> 2
-14(예: 이진수로 11110010) 오른쪽으로 두 자리 이동한 값은 - 4(즉, 이진수로 11111100).
부호 없는 오른쪽 이동 연산자(>>>)
>>> 이 연산자는 표현식1의 각 비트를 표현식2에서 지정한 자릿수만큼 오른쪽으로 이동합니다. 오른쪽으로 시프트한 후 왼쪽의 비어 있는 비트는 0으로 채워집니다. 오른쪽으로 이동된 비트는 버려집니다.