2013年1月2日水曜日

[Perl]ビットシフト

use strict;
use utf8;
my $i, my $j;
# ビットシフト
$i = 0x01;
printf("0x%02x (%08b) -> ", $i, $i);
$j = $i << 2;
printf("0x%02x (%08b)\n", $j, $j);
# ビット演算子
printf("0x%02x (%08b)\n", ($i | $j), ($i | $j));
0x01 を左 2 bit シフトして 0x04 に変えている。結果は %x, %b を使用して 16 進数、2 進数で表示している。
実行結果
> perl bit_shift.pl
0x01 (00000001) -> 0x04 (00000100)
0x05 (00000101)

0 件のコメント:

コメントを投稿