高一の情報です
16 ビットの浮動小数点表現を用いた二進法の数を十進法で表しなさいという問題です
0 10101 1011010000
のなおしかたを分かりやすく教えてください
情報に問題が分かりません
フォーラムルール
新規投稿は質問のみとさせていただきます。
新規投稿は質問のみとさせていただきます。
Re: 情報に問題が分かりません
>16ビットの浮動小数点表現を用いた二進法の数を十進法で表しなさい
>[0 10101 1011010000] のなおしかたを分かりやすく・・・
→
答え: [0 10101 1011010000](bin) → 109(dec)
IEEE754 半精度浮動小数点(16bit)
(1)符号部は1ビット
[0] .... 最上ビットは0なので[正]の値
(2)指数部は5ビット
[10101] .... 2の6乗です
10101
- ) 01111
------------
00110 .... 2^⁶ (2の6乗です)
※バイアス値[01111]は正しいですが、「20とする」は意味不明です。
01111(bin) は、15(dec)
・バイアス値とはオフセットと同意であり、指数部は(+-)の値を2の補数表現ではなく、オフセット表現しています。
:
17(dec) ...2^²
16(dec) ...2^¹
15(dec) ...2^⁰
14(dec) ...2^(-¹)
13(dec) ...2^(-²)
:
(3)仮数部は10ビット
[1011010000]
→ 暗黙の1ビット復帰(同時に小数点も明記)
1.1011010000
→ 式の展開
1.1011010000 × 2^⁰ ... → 指数部は0乗扱い
→ 「(2)指数部」を計上
1.1011010000 × 2^⁰ × 2^⁶
1.1011010000 × 2^⁶
→ 整形 「(1)符号部」より値は正の値
1101101.0000 × 2^⁰
→ 2進数から10進数に変換
添付する「値対応表」に従って変換する
64 + 32 + 8 + 4 + 1
= 109
dec ... 10進数の意味です
bin ... 2進数の意味です
hex ... 16進数の意味です
oct ... 8進数の意味です
2^n のnの数字がそのまま仮数の「小数点位置」を意味します。
(3)仮数部処理
暗黙の1ビット復帰(同時に小数点も明記)した後に、
小数点の位置をnの値が
・正の値ならその個数分右に移動、
・負の値ならその個数分左に移動
させます。
その逆展開を「正規化」と言います。
>[0 10101 1011010000] のなおしかたを分かりやすく・・・
→
答え: [0 10101 1011010000](bin) → 109(dec)
IEEE754 半精度浮動小数点(16bit)
(1)符号部は1ビット
[0] .... 最上ビットは0なので[正]の値
(2)指数部は5ビット
[10101] .... 2の6乗です
10101
- ) 01111
------------
00110 .... 2^⁶ (2の6乗です)
※バイアス値[01111]は正しいですが、「20とする」は意味不明です。
01111(bin) は、15(dec)
・バイアス値とはオフセットと同意であり、指数部は(+-)の値を2の補数表現ではなく、オフセット表現しています。
:
17(dec) ...2^²
16(dec) ...2^¹
15(dec) ...2^⁰
14(dec) ...2^(-¹)
13(dec) ...2^(-²)
:
(3)仮数部は10ビット
[1011010000]
→ 暗黙の1ビット復帰(同時に小数点も明記)
1.1011010000
→ 式の展開
1.1011010000 × 2^⁰ ... → 指数部は0乗扱い
→ 「(2)指数部」を計上
1.1011010000 × 2^⁰ × 2^⁶
1.1011010000 × 2^⁶
→ 整形 「(1)符号部」より値は正の値
1101101.0000 × 2^⁰
→ 2進数から10進数に変換
添付する「値対応表」に従って変換する
64 + 32 + 8 + 4 + 1
= 109
dec ... 10進数の意味です
bin ... 2進数の意味です
hex ... 16進数の意味です
oct ... 8進数の意味です
2^n のnの数字がそのまま仮数の「小数点位置」を意味します。
(3)仮数部処理
暗黙の1ビット復帰(同時に小数点も明記)した後に、
小数点の位置をnの値が
・正の値ならその個数分右に移動、
・負の値ならその個数分左に移動
させます。
その逆展開を「正規化」と言います。