Perl-bitwise-operators-example

提供:Dev Guides
移動先:案内検索

Perlビット演算子の例

Perl言語でサポートされているビット演算子は次のとおりです。$ a = 60の場合を想定しています。および$ b = 13-

Sr.No. Operator & Description
1

&

バイナリAND演算子は、両方のオペランドに存在する場合、結果にビットをコピーします。

-($ a&$ b)は12を与えます。これは0000 1100です

2 *

バイナリOR演算子は、eatherオペランドにビットが存在する場合、それをコピーします。

-($ a

$ b)は0011 1101である61を与える
3

^

バイナリXOR演算子は、両方ではなく1つのオペランドにビットが設定されている場合、ビットをコピーします。

-($ a ^ $ b)は49を返します。これは0011 0001です

4

~

Binary Ones Complement Operatorは単項で、「反転」ビットの効果があります。

-(〜$ a)は、-61を返します。これは、符号付き2進数のため、2の補数形式で1100 0011です。

5

<<

バイナリ左シフト演算子。 左のオペランドの値は、右のオペランドで指定されたビット数だけ左に移動します。

-$ a << 2は240となり、1111 0000になります

6

>>

バイナリ右シフト演算子。 左のオペランドの値は、右のオペランドで指定されたビット数だけ右に移動します。

-$ a >> 2は0000 1111である15を与える

次の例を試して、Perlで使用可能なすべてのビット演算子を理解してください。 test.plファイルに次のPerlプログラムをコピーして貼り付け、このプログラムを実行します。

#!/usr/local/bin/perl

use integer;

$a = 60;
$b = 13;

print "Value of \$a = $a and value of \$b = $b\n";

$c = $a & $b;
print "Value of \$a & \$b = $c\n";

$c = $a | $b;
print "Value of \$a | \$b = $c\n";

$c = $a ^ $b;
print "Value of \$a ^ \$b = $c\n";

$c = ~$a;
print "Value of ~\$a = $c\n";

$c = $a << 2;
print "Value of \$a << 2 = $c\n";

$c = $a >> 2;
print "Value of \$a >> 2 = $c\n";

上記のコードが実行されると、次の結果が生成されます-

Value of $a = 60 and value of $b = 13
Value of $a & $b = 12
Value of $a | $b = 61
Value of $a ^ $b = 49
Value of ~$a = -61
Value of $a << 2 = 240
Value of $a >> 2 = 15