Home  >  Article  >  Backend Development  >  Basic bit operations in php

Basic bit operations in php

巴扎黑
巴扎黑Original
2016-11-23 13:20:511102browse

php bit operations

$a & $b and (bitwise AND)

$a | $b or (bitwise OR)

$a ^ $b Xor (bitwise exclusive OR)

~$a Not (Bitwise NOT)

$a << $b Shift left (shift left)

$a >> $b Shift right (shift right)

Detailed explanation

$a & $b Bitwise AND Set the bits that are both 1 in $a and $b to 1;

Example: 10 & 12 = 8

10 1010

12 1100

1000 8

$a | $b bitwise OR $a Or if one of $b is 1, set it to 1;

Example: 10 | 12 = 14

10 1010

12 1100

1110 14

$a ^ $b Bitwise XOR

Example: 10 ^ 12

10 1010

12 1100

0110 6

~a Bitwise notation sets the 0 in $a to 1 and the 1 to 0

Example: ~10 =

10 1010 111111111111111111111111111111111111111111111111111111111110101 -11

$a << $b Move left in $a to the left $b times (each move means multiplying by 2);

Example: 1 << 10 = 1024

1(1) Left shift 10 digits 10000000000(1024)

is equivalent to 1*2 raised to the 10th power. It is really depressing that there is no power operation in PHP.

$a >> $b Right shift moves the value in $a to the right $b times (each move means dividing by 2);

Example: 1024 << 2 = 1256

10000000000 (1024) Shifting 2 bits to the right is 100000000 (256)

php is the operation $a & $b and (bitwise AND) $a | $b or (bitwise OR) $a ^ $b Xor (bitwise exclusive OR )~$a Not(bitwise not)$a << $b Shift left(shift left)$a >> $b Shift right(shift right)

Detailed explanation of $a & $b bitwise AND The bits that are both 1 in $a and $b are set to 1; example: 10 & 12 = 810 101012 1100 1000 8

$a | $b Bitwise OR sets the bit that is 1 in $a or $b is 1; example: 10 | 12 = 1410 101012 1100 1110 14

$a ^ $b bitwise Set to 1, and 1 to 0. Example: ~10 = 10 1010 1111111111111111111111111111111111111111111111111111111110101 -11

$a << $b Move left in $a to the left $b times (each move represents Multiply by 2); Example: 1 << 10 = 10241(1) Shifting left by 10 digits 10000000000(1024) is equivalent to 1*2 raised to the 10th power. It is really depressing that there is no power operation in PHP.

$a >> $b Right shift moves the value in $a to the right $b times (each move means dividing by 2); example: 1024 << 2 = 125610000000000(1024) Right shift 2 digits is 100000000(256)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:MYSQLI operation classNext article:MYSQLI operation class