まただよ…ビット演算子
今回は十分な鍛錬と計算(一部誤ってやりなおしましたが)を積んできたので、早く行けるかもしれません。
とりあえず、定番のソースコードから
#!/usr/bin/perl
use strict ;
my($int_a,$int) ;
$int_a = 41 ;
$int = $int_a & 10 ;
print "Content-type:text/html; charset=EUC-JP\n\n" ;
print $int ;
今回は「41」という値と「10」とのアンド演算を行っています。
では、「また?」と言われそうですが下の表を見てください
* | 32 | 16 | 8 | 4 | 2 | 1 |
41 | 1 | 0 | 1 | 0 | 0 | 1 |
10 | 0 | 0 | 1 | 0 | 1 | 0 |
計 | 0 | 0 | 1 | 0 | 0 | 0 |
これは「41」と「10」の2進数の値とアンド演算した結果です、計がアンド演算した結果です。
見てほしいのは8のとこです、「41」のところと「10」のところと比べてみてください。
両方とも「1」です、そして「計」のところも見てください。
「1」です、これは何回書けばいいのか…
両方が「1」だった時だけ…「1」になります。
このソースコードだと、8と出力されます