再質問で畏れ入ります。
数値を32ビット浮動小数点形式で表す。指数部は2を基数とし、負数は2の補数で表現する。10進数0.375をこの2を基数とした浮動小数点形式で正規化したものはどれか。ただし結果は16進数で表現する。
答え:7FC00000
という問題です。
まず0.375を2進数に
0.011
正規化
0.11 * 2^-1
指数部-1を2進数で求める
-0000 0001 ->1111 1111
仮数部符号は正の数なので0
0111 1111 ???? ???? ???? ???? ???? ????
と・・・
ここの部分からわかりません・・・
(なぜか手持ちの参考書には省略してあり・・・)
7Fの部分はこれで間違いないでしょうか?
またそのあとのC00000
はどうやって導くのか教えてください。
お願いいたします
No.2ベストアンサー
- 回答日時:
まず、0.375を2進表現すると
0.011
になります。
言いかえれば、
0.011 * 2の0乗
です。
この値は
0.11 * 2の-1乗
に等しくなります。
ここで、浮動小数点の形式を「符号1ビット、指数7ビット、仮数24ビット」と仮定すると、
符号:正の数なので 0
指数:2の-1乗。-1の2の補数 1111111
仮数:0.11の「0.」を取り除き、下位ビットに0を埋め 110000000000000000000000
このようになります。これを並べると
0 1111111 110000000000000000000000
となり、16進数表現で
7FC00000
となります。
これを
0.011 * 2の0乗
のまま正規化せずに浮動小数点形式にしてしまうと
符号:正の数なので 0
指数:2の0乗。0は 0000000
仮数:0.011の「0.」を取り除き、下位ビットに0を埋め 011000000000000000000000
このようになります。これを並べると
0 0000000 011000000000000000000000
となってしまいますが、仮数部の上位に0がある分だけ仮数部の下位の桁が減り、精度が落ちてしまいます。
そこで、仮数部を2倍し(つまり上位の0を取り除いて左に1ビットシフトし)、仮数部を2倍した代わりに指数部を1つ減らします。
つまり「0.375×1(0.375×2の0乗)では無駄があるので、0.75×0.5(0.75×2の-1乗)にしよう」と、正規化を行うのです。
なお、浮動小数点形式を規定したIEEE754では、上記の形式と異なる形式を用いる事により、更に1ビット分精度を上げています。仮数部を正規化する事により仮数部の最上位ビットが常に1になる事を利用し、その最上位の1を取り除いて仮数部の桁を増やしています。
>仮数部の上位に0がある分だけ仮数部の下位の桁が減り、精度が落ちてしまいます。
ありがとうございます。
正規化の意味合いまで教えていただいて、とても勉強になりました。意味までわかっていたほうが覚えやすいですね!
>仮数:0.11の「0.」を取り除き、下位ビットに0を埋め 110000000000000000000000
このようになります。これを並べると
0 1111111 110000000000000000000000
とてもご丁寧にありがたいです。
実は購入した参考書が
突然
「C00000」
となってしまっていて、1100だからCとは書いていないのです。
このCは何処からきたんだ・・・と頭を抱えておりました。
仮数部は0.11だから0011では・・・と思い込み
どんどんわからなくなっていました。
とても助かりました
ありがとうございました!!
No.1
- 回答日時:
7Fまではazicyaさんの方法で間違いありません。
仮数部の求め方ですが、単に正規化したものの
小数点以下をそのまま上位ビットから並べて、
余ったところは0で埋めるだけです。
この問題の場合は、正規化すると 0.11 * 2^(-1)
ですから、0.11の11を上位ビットにおいて、
残りは全部0になります。
つまり、質問の
???? ???? ???? ???? ???? ????
は
1100 0000 0000 0000 0000 0000
になるわけです。
>0.11の11を上位ビットにおいて
わかりました!!
すっきりいたしました。
どうもこの部分の説明がちゃんと書いていなくて
混乱してしまいました!
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- 情報処理技術者・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
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- 数学 高校の数学Bの、確率分布と統計的な推測の、 正規分布の問題でわからない箇所がございます。問題文が、 2 2022/03/27 20:57
- 計算機科学 2進数の計算について 2進数の値は全て8ビットで負数は2の補数形式とする。結果が8ビットで表現出来な 3 2023/07/22 14:08
- 数学 至急!次の問題を教えてください。 ある市では、消防車の出動要請が平均して1時間当たり1回ある。 多く 2 2022/11/18 20:25
- 数学 参考文献の探し方(数学) 1 2022/07/19 01:09
- 数学 数学の答えと解き方を教えてください。 問:ある(人数の非常に多い)集団から無作為に6名を選んで身長を 4 2022/12/14 10:06
関連するカテゴリからQ&Aを探す
医師・看護師・助産師
薬剤師・登録販売者・MR
医療事務・調剤薬局事務
歯科衛生士・歯科助手
臨床検査技師・臨床工学技士
理学療法士・作業療法士・言語聴覚士
臨床心理士・心理カウンセラー・ソーシャルワーカー
介護福祉士・ケアマネージャー・社会福祉士
弁護士・行政書士・司法書士・社会保険労務士
フィナンシャルプランナー(FP)
中小企業診断士
公認会計士・税理士
簿記検定・漢字検定・秘書検定
情報処理技術者・Microsoft認定資格
TOEFL・TOEIC・英語検定
建築士
インテリアコーディネーター
宅地建物取引主任者(宅建)
不動産鑑定士・土地家屋調査士
マンション管理士
電気工事士
美容師・理容師
調理師・管理栄養士・パティシエ
シェフ
保育士・幼稚園教諭
教師・教員
国家公務員・地方公務員
警察官・消防士
その他(職業・資格)
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
COBOL 9(02)で定義した変数にマ...
-
8ビットのグレイ符号10110110お...
-
アクセスのデータ型。数値型に...
-
救難信号SOSの打電について
-
PN9によるBER測定
-
10分の1は「10/1 それとも1/10...
-
50以下は“50”も入るのですか?
-
エクセル関数で源泉徴収額を計...
-
1億x1億はいくらでしょうか?
-
【機械図面】 最大値・最小値...
-
5進法を10進法への直し方
-
HEX2BIN関数の使い方。
-
エクセルで60進法計算の仕方...
-
「最大300字程度」
-
「充足に達しましたので」これ...
-
16進小数0.Cを10進数小数に変換...
-
実績を積むという表現
-
敬語の使い方
-
なんでですか?
-
Excel 16進数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
COBOL 9(02)で定義した変数にマ...
-
PN9によるBER測定
-
テーブルに小数点以下の値を入...
-
アクセスのデータ型。数値型に...
-
FORTRANでfloat(a)
-
救難信号SOSの打電について
-
Excelで符号の変化をカウントす...
-
調剤薬局での夜間・休日等加算...
-
情報技術の問題についてです。 ...
-
8ビットのグレイ符号10110110お...
-
浮動小数点の正規化方法について
-
浮動小数点形式の問題
-
特許英和翻訳の場合、符号の説...
-
文字コードの種類について
-
2ビットの全加算器
-
全加算器
-
「々」の読み方を教えてください。
-
黒丸をつけているところでなぜ...
-
浮動小数点数
-
エクセル・Text関数
おすすめ情報