지금까지 PHP 연산자 중 "php 산술 연산자", "php 문자열 연산자", "대입 연산자"에 대해 설명드렸습니다. 오늘은 PHP 연산자의 "비트 연산자" 에 대한 자세한 소개입니다.
비트 연산자는 PHP에서 자주 사용되지 않지만 여전히 매우 유용합니다. 다음 내용에서는 비트 연산자의 사용법을 보여주는 예제를 제공합니다.
비트 연산자는 이진 비트를 낮은 순서에서 높은 순서로 정렬한 후 연산을 참조하며, 정수로 지정된 비트를 평가하고 연산할 수 있습니다.
PHP의 연산자는 아래 표와 같습니다
运算符 | 说明 | 例子 |
& | 按位与 | $m & $n |
| | 按位或 | $m | &$n |
^ | 按位异或 | $m ^ $n |
~ | 按位非或按位取反 | $m ~ $n |
左移 | $m | |
>> | 右移 | $m >> $n |
예제를 사용하여 위 표의 연산자를 설명하겠습니다.
<?php $m=1; //1=0 00000001 $n=2; //2=00000010 $mn=$m&$n; echo $mn."<br/>"; $mn=$m^$n; echo $mn."<br/>"; $mn=$m|$n; echo $mn; ?>
코드 실행 결과:
예제 설명:
$m&$n : 둘 다 1이면 1, 그렇지 않으면 0. 즉, $a 및 $b의 비트를 모두 1에서 1로 설정하고, 그렇지 않으면 0으로 설정합니다.
00000001 ← $m
& 00000010 ← $b
비교 결과가 00000000이므로 출력은 0
$m^ $n: 비트별 OR 과정에서 차이는 1이고 같은 것은 0입니다.
00000001 ← $m
^ 00000010 ← $n
그래서 결과는 00000011이 되고, 3이 출력됩니다.
$m|$n: 비트 OR 과정에서 1은 1, 0은 모두 0,
00000001 ← $m
| 00000010 ← $n
결과가 00000011이므로 출력은 3입니다.
위의 예에서는 "비트 OR", "비트 OR", "비트 XOR", 다음 세 가지 예시
비트 NOT 또는 비트 부정 예시 를 살펴보겠습니다. 코드는 다음과 같습니다
<?php $m = 2; $m1 = ~$m; echo $m1; ?>
실행 결과
이때 우리의 실행 결과가 -3 인데 여기서 주목할 필요가 있습니다.
참고: 컴퓨터에서 음수는 양수 값의 보수 형식으로 표현됩니다.
1: 2의 32비트 원본 코드는 0000 0000 0000 0000 0000 0000 0000 0010
2: 비트 반전은 1111 1111 1111 1111 1111 1111 1111 101
첫 번째 숫자가 1이고 부호 비트가 1이므로 음수이므로 양수 값의 보수 형식은 다음과 같이 표현됩니다. (부호 비트는 변경되지 않고 비트 단위로 반전되며 끝에 1이 추가됩니다.) )
1000 0000 0000 0000 0000 0000 0000 0011
따라서 출력은 -3
왼쪽으로 이동 및 시프트 코드 예시
<?php $m = 12; // 12=00001100 $n = 3; // 3=00000011 $mn= $m << $n; echo $mn ."<br/>"; $mn= $m >> $n; echo $mn ; ?>
실행 결과:
설명 예시:
$m: $m의 비트를 왼쪽으로 $n번 이동합니다(각 이동은 "2$b 곱하기", 즉 "2$b 곱하기"를 의미함).
0000 1100 ← $m
$m>>$n: $m의 비트를 오른쪽으로 $n 번 이동합니다(각 이동은 "2로 나누기", 즉 "2 -$로 곱하기"를 의미함) b "). 0000 1100 ← $m
PHP 연산의 논리연산자 에 대해 자세히 소개하겠습니다.
위 내용은 PHP 연산자(4) '비트 연산자' 예제 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!