Perl Bitwise Operators:
Bitwise operators work on bits and perform 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
Operator
|
Description
|
Example
|
&
|
Binary AND Operator copies a bit to the result if it
exists in both operands.
|
($a & $b) will give 12 which is 0000 1100
|
|
|
Binary OR Operator copies a bit if it exists in eather
operand.
|
($a | $b) will give 61 which is 0011 1101
|
^
|
Binary XOR Operator copies the bit if it is set in one
operand but not both.
|
($a ^ $b) will give 49 which is 0011 0001
|
~
|
Binary Ones Complement Operator is unary and has the efect
of 'flipping' bits.
|
(~$a ) will give -61 which is 1100 0011 in 2's complement
form due to a signed binary number.
|
<<
|
Binary Left Shift Operator. The left operands value is
moved left by the number of bits specified by the right operand.
|
$a << 2 will give 240 which is 1111 0000
|
>>
|
Binary Right Shift Operator. The left operands value is
moved right by the number of bits specified by the right operand.
|
$a >> 2 will give 15 which is 0000 1111
|
No comments:
Post a Comment