モジュール詳細:ビット演算子
皆が嫌いな数学の分野だ。というか数学が好きな人なんているのか?
- このモジュールには2つの画面が含まれる。
- ビット演算子(AND、OR、XOR、NOT)
- 入力装置
- 以下の表で得られる2つの1バイト列と、1つ目のディスプレーを利用して答えを計算する。表の「MSB」は最上位ビットを示し、「LSB」は最下位ビットを示す。
バイト列1 | ビット | バイト列2 |
---|---|---|
単3バッテリーがない | MSB | 1つ以上の単1バッテリー |
パラレルポート | 3つ以上のポート | |
点灯した「NSA」のインジケーター | 2つ以上のバッテリーホルダー | |
開始した分数より、モジュール数が多い | 点灯した「BOB」のインジケーター | |
点灯したインジケーターが1つより多い | 点灯していないインジケーターが1つより多い | |
モジュールの数が3で割り切れる | シリアルナンバーの最後の数字が奇数 | |
単1バッテリーが2つより少ない | モジュールの数が偶数 | |
ポートが4つより少ない | LSB | 2つ以上のバッテリー |
以下がそれぞれのビット演算子の説明である。
情報 | AND | OR | XOR | NOT |
---|---|---|---|---|
計算方法 | ビット毎に計算しする。両方のビットが1である場合、結果は1である。そうでない場合、結果は0である。 | ビット毎に計算しする。いずれか(あるいは両方)のビットが1である場合、結果は1である。そうでない場合、結果は0である。 | ビット毎に計算しする。いずれか(両方でない)のビットが1である場合、結果は1である。そうでない場合、結果は0である。 | バイト列2を無視する。ビット毎に計算しする。結果は入力を反転させたものである。 |
数学記号 | ビット1 && ビット2 |
ビット1 || ビット2 |
(ビット1 && ! ビット2) || (!ビット1 && ビット2) |
! ビット1 |