# Perl Bitwise Operators

PERLServer Side ProgrammingProgramming Scripts

Bitwise operator works on bits and performs bit by bit operation. Assume if $a = 60; and$b = 13; Now in binary format they will be as follows −

$a = 0011 1100$b = 0000 1101
-----------------
$a&$b = 0000 1100
$a|$b = 0011 1101
$a^$b = 0011 0001
~$a = 1100 0011 There are following Bitwise operators supported by Perl language, assume if$a = 60; and $b = 13 Sr.No.Operator & Description 1& Binary AND Operator copies a bit to the result if it exists in both operands. Example− ($a & $b) will give 12 which is 0000 1100 2| Binary OR Operator copies a bit if it exists in either operand. Example− ($a | $b) will give 61 which is 0011 1101 3^ Binary XOR Operator copies the bit if it is set in one operand but not both. Example− ($a ^ $b) will give 49 which is 0011 0001 4~ Binary One's Complement Operator is unary and has the effect of 'flipping' bits. Example− (~$a ) will give -61 which is 1100 0011 in 2's complement form due to a signed binary number.
5<<
Binary Left Shift Operator. The left operand's value is moved left by the number of bits specified by the right operand.
Example− $a << 2 will give 240 which is 1111 0000 6>> Binary Right Shift Operator. The left operand's value is moved right by the number of bits specified by the right operand. Example−$a >> 2 will give 15 which is 0000 1111