Floating-point multiplication【NandGame編】
Floating-point multiplicationレベルのゴールは、2つの浮動小数点数を16ビット(パック)表現で乗算する回路を組むことです。
Add signed magnitude【NandGame編】
当該レベルにおいての符号つき整数は、sgとMで構成されるものとします。sgは符号、Mは符号なしの数を示します。
sg=0なら正、sg=1なら負と定義します。
例えば、「-2」という ...
Floating-point addition【NandGame編】
Floating-point additionレベルのゴールは、16ビット表現(パック済み)の浮動小数点数の加算・減算を実現する回路を実装することです。
Floa
Pack floating-point value【NandGame編】
Pack floating-point valueレベルのゴールは、33ビット表現の浮動小数点から16ビット表現の浮動小数点にパックする回路を実装することです。
16 ...
Normalize underflow【NandGame編】
Normalize underflowレベルのゴールは、入力sfが11桁未満の場合、11桁に変更し、指数もそれに応じて調整する回路を実装することです。この調整処理をアンダーフローの正規化(n ...
Normalize overflow【NandGame編】
2つの仮数の乗算結果は、2進数で11桁または12桁になります。実際に直前で解いたFloating-point multiplicationレベルでは、乗算を終えましたが仮数の正規化されていませ ...
Left Shift、Logical Right Shift、Artithmetic Right Shift、Barrel Shift Left【NandGame編】
Left Shiftレベルのゴールは1ビット左シフトする回路を組むことです。
実質的に入力値を2倍する回路になります。
Left Shiftレベルを解く
入力である16ビッ
Align significands【NandGame編】
Align significandsレベルのゴールは、2つの数が同じ指数を共有するように、指数と仮数を調整する回路を実装することです。
ここでいう指数の共有とは、入力された指数のう ...
Verify exponent【NandGame編】
Verify exponentレベルのゴールは、指数(exp)が0~30(16進数で00h~1Eh)の範囲外のとき、31(=1Fh=1 1111b)に設定する回路を組むことです。
Floating-point multiplication【NandGame編】
浮動小数点の演算では、加算や減算より乗算の方が簡単です。そこで、乗算の解説から始めます。
浮動小数点の乗算は「仮数の乗算」と「指数の加算」で実現されます。
Floating-point multip ...