問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
整数はコンピュータ内部ではビット列として扱われます。
基本的に、整数を 2 進数表記したものをその数値を表すビット列として扱います。
例えば、2 に対応するビット列は 10、15 に対応するビット列は 1111 です。
(補足:整数に限らず、コンピュータで扱われるものはすべてビット列で表現されます。また、符号の有無などによって整数を表すビット列は異なります。ここでは簡単のため整数を 2 進数表記したものがそのままビット列になると理解していただければ十分です。)
与えられた二つの整数のビット毎の論理積 (AND) をとるプログラムを作成してみましょう。
10 進数の整数 A_1, A_2 が与えられるので、A_1 と A_2 のビット毎の論理積 (AND) を 10 進数で出力してください。
A_1
A_2
・ 1 行目に整数 A_1 が与えられます。
・ 2 行目に整数 A_2 が与えられます。
・ 入力は合計で 2 行からなり、入力値最終行の末尾に改行が 1 つ入ります。
A_1 と A_2 のビット毎の論理積 (AND) をとった結果を 10 進数で出力してください。
すべてのテストケースにおいて、以下の条件をみたします。
・ 0 ≦ A_1, A_2 < 2^10
203
666
138
103
31
7