
以下の問題が分かりません。
8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット、仮数部4ビットで構成されるとしたとき、10進数 0.1 を以下に示す過程で浮動小数点数化した。空欄を適当な数値でうめなさい。なお、仮数部の最上位ビットは1になるように指数部を調整するものとし、指数部は2の補数表記を用いるものとする。また無限小数については小数点以下10桁め以降は「...」で省して表記すること。
10進数 0.1を2進数にすると(ア)(2)となる。これを小数点以下最上位桁が1になるように変形すると(イ)(2) X 2^nとなる。nを3ビットの2進数で表すと(ウ)(2)である。よって浮動小数点数では(エ) (2)のように表現できる。この値は元の0.1よりも1/(オ)小さくなる。
(ア)0.0001100110...
(イ)1.1001100110...
(ウ)100
(エ)01001001
(オ)
途中までといてみたのですが(オ)が分かりません
詳しい方教えてください
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No.2 です。
問題文をまじめに読んでいなくて、#2 では勝手に「IEEE のケチ表現」(仮数部を「1.****~」と表して、整数部の「1」を省略する)と解釈して処理しました。
(質問者さんもそうしたようですね)
問題文の(イ)は「これを小数点以下最上位桁が1になるように変形すると」とあるので、「IEEE のケチ表現」とは違うようです。
それでやると
0.1[10] = 1 × 10^(-1)
= 0 × (1/2) + 0 × (1/4) + 0 × (1/8) + 1 × (1/16) + 1 × (1/32) + ・・・
= 0.00011(0011)[2]
(0011) は以降無限繰り返しということ。
よって、10桁まで表記すれば
= 0.00011 0011 0... ←ア
仮数部の小数点以下最上位桁が1になるように変形すると ←※ここを訂正
0.1100 1100 11... × 2^(-3) ←イ ←※ここを訂正
※※※※※ ↓これに伴って、以下すべてが訂正となります。
従って、指数部は
-3[10] = -011[2]
これを「負数を2の補数で表わす3ビット」で表記すると
・「011」の「0」と「1」を逆転させて → 100
・1 を加えて
100[2] + 001[2] = 101[2] ←ウ
以上から、0.1[10] の対応する浮動小数点の2進数は、
01011100[2] ←エ
この「エ」の値を再び「10進数」に戻せば
0.1100[2] × 2^(-3)
= 0.0001100[2]
= 1 × (1/16) + 1 × (1/32) + 0 × (1/64) + 0 × (1/128)
= (16 + 8)/256
= 24/256
元の10進数は 0.1[10] = 25.6/256 なので、その差は
25.6/256 - 24/256 = 1.6/256 = 1/160 ←オ
問題文のやり方だと、「IEEE のケチ表現」に対して、仮数部の1ビット分だけ精度を損しますね。
それは「ビット落ち」のある「桁数の決まった数値処理」では大きな「欠陥」になりますね。
No.3
- 回答日時:
10進数
0.1
を2進数にすると
(ア)0.0001100110…
………………………_(2)となる
これを小数点以下最上位桁が1になるように変形すると
(イ)0.11001100110…
………………………_(2)×2^nとなる
nを3ビットの2進数で表すと
(ウ)101_(2)
である
よって浮動小数点数では
(エ)01011100_(2)
のように表現できる
この値は元の
0.1
よりも
1
/
(エ)160
小さくなる
No.2
- 回答日時:
まずは、基本事項として「n 進数の abcde.fg」とは
a × n^4 + b × n^3 + c × n^2 + d × n^1 + e × n^0 + f × n^(-1) + g × n^(-2)
ということです。
一方、10進数で 0.1 を2進数で表わすには
① 0.1 × 2 = 0.2 繰上りなし
② 0.2 × 2 = 0.4 繰上りなし
③ 0.4 × 2 = 0.8 繰上りなし
④ 0.8 × 2 = 1.6 繰上りあり。残り 0.6
⑤ 0.6 × 2 = 1.2 繰上りあり。残り 0.2
これ以降②~⑤を繰り返し。
従って、「n進数」を [n] で書くとして
0.1[10] = 1 × 10^(-1)
= 0 × (1/2) + 0 × (1/4) + 0 × (1/8) + 1 × (1/16) + 1 × (1/32) + ・・・
= 0.00011(0011)[2]
(0011) は以降無限繰り返しということ。
よって、10桁まで表記すれば
= 0.00011 0011 0... ←ア
仮数部の最上位ビットが「1」になるようにすると
1.100 1100 110... × 2^(-4) ←イ
従って、指数部は
-4[10] = -100[2]
これを「負数を2の補数で表わす3ビット」で表記すると
・「100」の「0」と「1」を逆転させて → 011
・1 を加えて
011[2] + 001[2] = 100[2] ←ウ
以上から、0.1[10] の対応する浮動小数点の2進数は、仮数部は「イ」の整数部を除いて
01001001[2] ←エ
この「エ」の値を再び「10進数」に戻せば
1.1001[2] × 2^(-4)
= 0.00011001[2]
= 1 × (1/16) + 1 × (1/32) + 0 × (1/64) + 0 × (1/128) + 1 × (1/256)
= (16 + 8 + 1)/256
= 25/256
元の10進数は 0.1[10] = 25.6/256 なので、その差は
25.6/256 - 25/256 = 0.6/256 = 1/426.666・・・ ≒ 1/427 ←オ
No.1
- 回答日時:
自分で確認してないので質問から判断すると仮数部は1.1001
1+1/2+1/16=25/16
0.1-25/16/16
=1/10-25/256
=3/1280
≒1/427
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 情報技術の問題についてです。 10進数の−36を以下のような16ビットの浮動小数点表示にするといくつ 3 2022/05/21 19:53
- 計算機科学 8ビット浮動小数点数 0 1000 100 を10進法 8ビット浮動小数点数 1 1100 011 3 2022/10/28 08:07
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- 計算機科学 浮動少数点数で、16ビットで数値を表すとき、 1.0の指数部のビットパターンは、下駄が15なので、0 1 2023/02/07 11:10
- その他(データベース) 4進数風なバーコードは何ですか? 2 2022/11/28 23:33
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/03/16 11:19
- 数学 至急!!大学2年の女子です。この高校レベルの問題が分からないので教えてください!お願いしますm(_ 2 2022/11/11 22:10
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
数学の階乗はどんな時に使うの...
-
7で始まる電話番号?
-
3÷7のあまりは「3」ですか?
-
√2の値はなぜ1.414…になるんで...
-
関数電卓の表示方法を変更したい
-
100!
-
数値とアルファベットに分ける...
-
EXCELで10万未満切捨ての...
-
3分の1とは何パーセントでしょ...
-
Excelで数値の丸め
-
エクセル関数で桁数指定し数値...
-
エクセル
-
電話番号のハイフンの入れ方
-
私は大きくなって今でも数字の...
-
NUMBER(N,M) としたときの、格...
-
【場合の数】 2桁の自然数で、2...
-
小数と分数を2進数に直すやり方...
-
数字3桁の組み合わせの何通り...
-
算数です。 割り算の筆算で、商...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
7で始まる電話番号?
-
数値とアルファベットに分ける...
-
数字3桁の組み合わせの何通り...
-
2進数の割り算が分かりません...
-
3÷7のあまりは「3」ですか?
-
数学の階乗はどんな時に使うの...
-
NUMBER(N,M) としたときの、格...
-
EXCELで10万未満切捨ての...
-
大雪で小屋根の軒桁が外れた
-
3分の1とは何パーセントでしょ...
-
電話番号のハイフンの入れ方
-
エクセル関数で桁数指定し数値...
-
関数電卓の表示方法を変更したい
-
Excelで数値の丸め
-
エクセルのsumifの検索値
-
好きな数字が並ぶ不思議?
-
【場合の数】 2桁の自然数で、2...
-
0以下の数字は何桁?
-
60進法と10進法
おすすめ情報