ガジェット通信

見たことのないものを見に行こう

【選択式問題】ビット反転パズル解答と解説☆言語不問

DATE:
  • ガジェット通信を≫

ビット反転パズル

本問題は、仮想コードを実行した結果、生成される値を選択肢から選ぶという内容でした。

それでは以下、各問題とその解答を見ていきましょう。

問題のオープニング

あなたは、ビット反転の女神「ビットワイズ=ノット」の神殿にやって来ました。

この神殿では、女神の出す問題に正解すれば富を約束され、間違うと死を約束されます。

あなたは、歴戦のプログラマーとして、へそ曲がりの女神の意に沿うように答えなければなりません。

この神殿では、仮想コードの式が提示されます。この式の結果生成される値を、選択肢から選びます。

// 仮想コードのルール
~ …… ビット単位の否定。
2進数の各桁を真偽値として逆転。
たとえば「0101」なら「1010」に変換。
10進数では以下のように変換。
1 → -2
0 → -1
-1 → 0
-2 → 1
* …… 積算。
% …… 剰余。
+ …… 加算。

// 演算子の優先順位
高←「~」「* %」「+」→低

問題1

// 問題
~1+~1

// 選択肢
-2
-3
-4

仮想コードの実行結果を順番に見ていきましょう。

~1+~1 → -2+~1
→ -2+~1 → -2+-2
-2+-2 → -4

そのため答えは、3番目の選択肢の『-4』になります。

以下、ブラウザのコンソールで確認できるように、JavaScriptのコードを示します。

// 参考コード

// 問題
console.log(~1+~1);

// 出力結果
-4

問題2

// 問題
~2*-2

// 選択肢
5
6
-5

仮想コードの実行結果を順番に見ていきましょう。

~2*-2 → -3*-2
-3*-26

そのため答えは、2番目の選択肢の『6』になります。

以下、ブラウザのコンソールで確認できるように、JavaScriptのコードを示します。

// 参考コード

// 問題
console.log(~2*-2);

// 出力結果
6

問題3

// 問題
~-4%2

// 選択肢
1
2
3

仮想コードの実行結果を順番に見ていきましょう。

~-4%2 → 3%2
3%21

そのため答えは、1番目の選択肢の『1』になります。

以下、ブラウザのコンソールで確認できるように、JavaScriptのコードを示します。

// 参考コード

// 問題
console.log(~-4%2);

// 出力結果
1

CodeIQ運営事務局より

柳井さん、ありがとうございました!
柳井さんの次の問題にご期待ください!

カテゴリー : デジタル・IT タグ :
CodeIQ MAGAZINEの記事一覧をみる ▶
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。

TOP