人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

http://perldoc.jp/docs/perl/5.8.8/perlop.pod#Exponentiation

print ($a[0]**2) - ($a[1]**2);

匿名質問者さんのコメント
ありがとうございます。perlでは^を使わないのですね。とても参考になりました。 また、もし良ければ教えていただきたいのですが、 print 5^3; #6の表示 となり、何かを演算しているようなのですがこれはどのような意味があるのでしょうか?

匿名回答1号さんのコメント
>> 二項演算子の "^" は、両オペランドのビットごとに排他論理和をとって、 その結果を返します。 ("Integer Arithmetic" と "Bitwise String Operators" も参照して下さい。) <cite>[http://perldoc.jp/docs/perl/5.8.8/perlop.pod#Bitwise32Or32and32Exclusive32Or:title=ビットごとの OR と XOR]</cite> << >http://www.cc.kyoto-su.ac.jp/~yamada/ap/xor.html:title> 排他的論理和 xor (exclusive or)とは、 1 xor 1 = 0 1 xor 0 = 1 0 xor 1 = 1 0 xor 0 = 0 << 5^3 → 0101 ^ 0011 (2) 0101 0011 ―― 0110 0110 (2) → 6

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

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ