php 비트 연산
$a & $b 및 (비트 AND)
$a | $b 또는 (비트 OR)
$a ^ $ b a >
예: 10 & 12 = 8
10 1010
12 1100
1000 8
$a 비트 단위 또는 $a 또는 $b 중 하나를 1로 설정합니다.
예: 10 | 12 = 14
10 1010
12 1100
1110 14
$a ^ $b 비트 XOR
예: 10 ^ 12
10 1010
12 1100
0110 6
~a 비트 표기법은 $a의 0을 1로 설정하고 1을 0으로 설정합니다
예: ~10 =
10 1010 111111111111111111111111111111111111111111111111 11110101 -11
$a << $a를 왼쪽으로 $b번 이동합니다(각 이동은 2를 곱함을 의미함).
예: 1 << 10 = 1024
1 (1) 왼쪽으로 10자리 쉬프트 10000000000(1024)
1*2의 10승과 같습니다. PHP 계산에는 힘이 없습니다. 정말 답답합니다.
$a > < 2 = 1256
10000000000(1024) 2비트 오른쪽으로 이동하면 100000000(256)
php는 $a & $b 연산입니다. (비트 AND) $a | $b 또는 (비트 OR) $a ^ $b Xor(비트 XOR) ~$a Not(비트 NOT) $a << $b 왼쪽 이동(왼쪽 이동) $a > > $b 오른쪽으로 이동(오른쪽으로 이동)
$a & $b에 대한 자세한 설명 비트별 AND는 $a와 $b에서 모두 1인 비트를 1로 설정합니다. 예: 10 & 12 = 810 101012; 1100 1000 8
$a | $b 비트별 OR은 $a 또는 $b 중 하나를 1로 설정합니다. 예: 10 | 12 = 1410 101012 1100 1110 14
$a ^ $b 비트별 XOR 예: 10 ^ 1210 101012 1100 0110 6
~a 비트 단위로 $a의 0을 1로 설정하지 않고 1을 0으로 설정합니다. 예: ~10 = 10 1010 111111111111111111111111111111111111 1 11111111111111111111110101 -11
$a << $b 왼쪽 시프트는 $a의 요소를 왼쪽으로 $b번 이동합니다(각 이동은 2를 곱함을 의미함). 1 << 10241(1) 왼쪽으로 시프트 10자리 10000000000(1024)은 1*2의 10승과 같습니다. PHP에 거듭제곱 연산이 없다는 것은 정말 우울한 일입니다.
$a >> $b 오른쪽 시프트는 $a의 값을 오른쪽으로 $b만큼 이동합니다(각 이동은 2로 나누는 것을 의미함). 예: 1024 << 125610000000000( 1024) 두 자리 오른쪽으로 이동하면 100000000(256)