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