- ベストアンサー
アルゴリズム解析をしてるのですが…
いくつかのperlを解説したページを読んでみたのですが、 以下の文でフォーマットとしての"%02x"の意味と 「^」(演算子?)の意味がわからずつまづいてます。 $val =~ s/./sprintf("%02x",ord($&)^ord($aaa[$i++ % @aaa])))/ge どなたか教えてください・・・
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これは出力のフォーマットですね。 まず x は16進数の小文字を出力する指示。その前の02ってには「左側にゼロを詰めた2桁」って意味です。 Cのリファレンスを探して printf の書式を調べてみてください。 検索してたらPHPのがヒットしましたが、意味は同じです。>参考URL
その他の回答 (1)
- AKIIRA
- ベストアンサー率38% (15/39)
回答No.2
"%02x"についてはshigatsuさんが書いているとおりなので省略。 「^」は排他的論理和を表すビット論理演算子です。 この説明でわからなければ、コメントで補足してください。
質問者
お礼
ありがとうございます。 xorですね。 perlだと[^ABC]などとしたときに意味が違ってくるので、 何か複雑に考えてしまったようです。
お礼
ありがとうございます。 Cと同じ意味なんですね。 左側に0を詰めた2桁ですか、なるほど。