匿名質問者

perl なぜこのスクリプトでは正常に動作しないのでしょうか?@a = split(/\s/,"3 2");print ($a[0]^2) - ($a[1]^2);#5を期待するも1が表示されてしまいます。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2017/03/26 11:34:50

ベストアンサー

匿名回答1号 No.1

他1件のコメントを見る
匿名回答1号

二項演算子の "^" は、両オペランドのビットごとに排他論理和をとって、 その結果を返します。 ("Integer Arithmetic" と "Bitwise String Operators" も参照して下さい。)
ビットごとの OR と XOR

排他的論理和 xor (exclusive or)とは、
1 xor 1 = 0
1 xor 0 = 1
0 xor 1 = 1
0 xor 0 = 0

no title

5^3 → 0101 ^ 0011 (2)

0101
0011
――
0110

0110 (2) → 6

2017/03/26 10:24:16
匿名質問者

XORについてはコンピュータの基礎講座で習っただけでしたがこんな所で出ていたのですね。ありがとうございます。とても参考になりました!

2017/03/26 11:34:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません