解説
前のレッスンでは1桁の論理演算を作りました。Pythonの演算子 & | ^ は、整数を2進数とみなして「同じ位置の桁どうし」で一斉に論理演算してくれます。
例えば 12(=1100) と 10(=1010) で、& は両方1の桁だけ1(=1000)、| はどちらか1なら1(=1110)、^(XOR)は異なるとき1(=0110)になります。
XORは「違うかどうか」を判定する演算で、暗号や誤り検出、半加算器でも主役になります。
書き方
ビット演算子: & AND(両方1の桁が1)/ | OR(どちらか1の桁が1)/ ^ XOR(異なる桁が1)。整数を2進数とみなし桁ごとに一斉演算する。 ・0b1100 のように 0b を付けると2進数で数値を書ける。 ・bin(整数) で結果を2進数文字列に戻して確認。
書いて動かす
この回の課題
12と10に対して & ・ | ・ ^(XOR)を計算し、結果を2進数と10進数で表示して、桁ごとに演算される様子を確かめよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
もっと本格的に使うなら
Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。