コンテンツにスキップ

025: 左に寄せれば二倍になる

ヒント / 解答

難易度:

問題

SSCで、入力を1つ読み、その値を2倍して出力するプログラムを書いてください。

関数 double_program() を書き、このプログラムを8ビット命令のリストとして返してください。

制約

  • 前問までの assemble_linerun を使って確認してください。
  • データはPython整数として扱います。
  • Shift 1 は、Accumulatorの値を1ビット左シフトします。

>>> run(double_program(), [21])
[42]
>>> run(double_program(), [-3])
[-6]

発展

Shift 2 に変えると、どのような計算になるか確認してください。