当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。

Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。

広告配信等の詳細については、プライバシーポリシーページに掲載しています。

消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題のある表現がありましたら、問い合わせページよりご連絡ください。

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

Saving Bytes【Turing Complete編】

はじめに

いつもブログをご覧いただきありがとうございます。

FIRE生活中のIPUSIRONです😀

IPUSIRONのプロフィールを見る

Saving Bytesステージ

Saving Bytesステージのゴールは、バイトデータをセーブとロードできる回路を組むことです。

【入力】

・Input 0:ロード用。ONのときに記憶している1バイトデータをロードして、出力する。

・Input 1:セーブ用。ONのときに入力データを記憶する。

・データ:1バイト(8ビット幅)

【出力】

・データ:1バイト

出力ピンにはenableピンが備わっていて、ロード時のみ出力ピンが有効になります。

Saving Bytesステージを解く

1:1バイトを記憶する仕組みを考える

1 Bit memoryコンポーネントを使えば、1ビットを記憶できます。

1バイトを記憶する必要があるので、同時に1 Bit memoryコンポーネントを8個使えばよいことになります。

中央に8個の1 Bit memoryコンポーネントを並べます。

2:入力データを処理する

各1 Bit memoryコンポーネントには、Save enableとSave valueの2つの入力があります。

入力から来るバイトをByte Splitterで分離し、各ビットは1 Bit memoryコンポーネントのSave valueに接続します。

残ったSave enableについては、セーブ用のInput 1と接続します。

3:出力データを組み立てる

各1 Bit memoryコンポーネントの出力を、8 Bit Makerに入力して1バイトデータします。後はこれを出力ピンに接続します。

4:出力ピンの有効・無効を制御する仕組みを実装する

未接続なのは、Input 0と「出力ピンのenableピン」です。回路の定義より、この2つの直結すればよいとわかります。

以上で回路が完成します。

クリアすると、8 Bit Registerコンポーネントがアンロックします。