Pack floating-point value【NandGame編】
はじめに
いつもブログをご覧いただきありがとうございます。
コーストFIRE中のIPUSIRONです😀
Pack floating-point valueレベル
Pack floating-point valueレベルのゴールは、33ビット表現の浮動小数点から16ビット表現の浮動小数点にパックする回路を実装することです。
16ビット表現の浮動小数点は、次の構成要素から成り立ちます。
要素 | ビット数 | 概要 |
---|---|---|
符号 | 1ビット | 0=正、1=負 |
指数 | 5ビット | 厳密にはバイアス指数。 |
仮数 | 10ビット | 正規化されている。暗黙の最初の1を考慮する。 |
詳細は次の記事を参照ください。
回路の入出力は次のとおりです。
入力 | アンパックされた浮動小数点数(33ビット表現の浮動小数点数) ・sgr:符号 ・exp:指数 ・sf:仮数 ※正規化されていない入力sfが0の場合、指数も0に設定されるべきものとする。 |
出力 | fp:パックされた浮動小数点数(16ビット表現の浮動小数点数) ※正規化後の指数が0~31の範囲(つまり5ビットで表現できる範囲)外である場合は、その数値は無効とし、数値を31に設定します。 |