 • Post category:PHP

# Bitwise Operators in PHP

## Bitwise operators

Bitwise operators are used to performing operations on bits. It converts the given decimal number to its binary equivalent number, and then they perform the operation on those bits and return the result in the form of a decimal.

### &: Bitwise And operator

If both LHS and RHS operands are 1 then the result will be 1, in all other cases result will be 0.

Example:

``````<?php
echo 1 & 1; //1
echo 2 & 5; //0
?>``````

### |: Bitwise OR operator

If both LHS and RHS operands are 0 then the result will be 0, in all other cases result will be 1.

Example:

``````<?php
echo 1 | 1; //1
echo 1 | 0; //1
echo 0 | 1; //1
echo 0 | 0; //0
?>``````

### ^ : Bitwise Exclusive OR operator

If both LHS and RHS operands are the same then the result will be 0, otherwise, the result will be 1.

Example:

``````<?php
echo 1 ^ 1; //0
echo 1 ^ 0; //1
echo 0 ^ 1; //1
echo 0 ^ 0; //0
?>``````

### ~ : Bitwise Complement operator

Add 1 to the given number and change the sign.

Example:

``````<?php
echo ~ 3; // -4
echo ~ (-3); //2
echo ~ 5; // -6
?>``````

### <<: Bitwise Left shift operator

Shifts the bits of the first number to the left by a number of positions indicated by the second number.
firstNumber * pow(2, secondNumber)

Example:

``````<?php
echo 1<<4; // 16
echo 12<<2; //46
?>``````

### >>: Bitwise Right shift operator

Shifts the bits of the first number to the right by a number of positions indicated by the second number.
firstNumber * pow(2, secondNumber)

Ex:

``````<?php
echo 16>>4; // 1
echo 48>>2; //12
?>``````