>백엔드 개발 >PHP 튜토리얼 >PHP 비트 연산자의 사용 예에 ​​대한 자세한 설명

PHP 비트 연산자의 사용 예에 ​​대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-21 09:58:121655검색

네 가지 일반적인 비트 연산 기호: &(비트 AND), |(비트 OR), ^(비트 XOR), ~(비트 부정)

&(비트 AND): 해당 비트가 모두 1인 경우 & 연산 후에는 1이 되고 그렇지 않으면 0

|(비트별 OR)이 됩니다. 해당 비트 중 하나가 1이면 | 연산 후에는 1이 되고 둘 다 0이면 됩니다. 0

^(Bitwise XOR): 해당 비트가 동시에 1이 아닌 경우 ^ 연산 후 1이 됩니다. 동시에 0이면 0이 됩니다. ), $a+(~$a)=-1

변위는 PHP의 수학 연산입니다. 어떤 방향으로든 이동된 비트는 폐기됩니다.

왼쪽으로 이동하면 오른쪽이 0으로 채워집니다. 즉, 양수 및 음수 부호는 문자 변경에 따라 변경됩니다.

오른쪽으로 이동하면 왼쪽이 부호 비트로 채워지고 부호 비트는 변경되지 않습니다. 참고:

php에는 부호 없는 숫자가 없습니다. 즉, PHP의 숫자는 모두 부호가 있습니다.

컴퓨터에서의 연산은 모두 2의 보수

덧셈 연산

형태로 수행됩니다. php 비트 연산 과정은 다음과 같습니다. (8비트 컴퓨터를 예로 들어) 2&-7= ? 계산을 예로 들어보겠습니다:

(1), 2의 보수 계산:

2-> 원래 코드: 0000

001

0-> 역 코드: 00000010-> ), -7의 보수를 계산합니다: -7-> 원본 코드: 10000111-> 역 코드: 11111001

(3), 2&-7-> code ->원본 코드

2&-7 보수: 00000000->역 코드: 00000000->원본 코드: 00000000

(4), 2&-7의 값을 얻는 2&-7 원본 코드가 있습니다

따라서 2& -7 = 0

예제 코드는 다음과 같습니다.

<?php
$m=8;
$n=12;
$p=-109;
$mn=$m&$n;
echo $mn."<br>";
$mn=$m|$n;
echo $mn."<br>";
$mn=$m^$n;
echo $mn."<br>";
$mn=~$m;
echo $mn."<br>";
$mn=~$p;
echo $mn."<br>";
?>

출력 결과:

8
12
4
-9
108

위 내용은 PHP 비트 연산자의 사용 예에 ​​대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.