Turing Complete Unofficial

Masking Time

前提レベル

このレベルを前提とするレベル

概要

入力される値を4で割った余りを8ティック以内に出力するプログラムを作成する問題です。

攻略

nが非負整数の時、2^nで割った余りを求めるには2^n - 1とのビットANDを求めれば良いです。

今回の場合、4 = 2^2で割った余りを求めたいので、2^2 - 1 = 3とのビットANDを求めます。

解答

開く

OVERTUREアーキテクチャのプログラム例を示します。

0b10110001 # R1 <- INPUT
3          # R0 <- 3
0b10000010 # R2 <- R0
0b01000011 # R3 <- R1 AND R2
0b10011110 # OUTPUT <- R3