
floatの有効桁数は6桁なのでしょうか?7桁なのでしょうか?
wiki(https://ja.wikipedia.org/wiki/%E5%8D%98%E7%B2%BE …をみると「指数部が全て 0 でない限り、この形式では「暗黙の整数ビット」を 1 とみなす。従って小数部の23ビットだけがメモリフォーマット上に出現する。従って十進に換算したとき表現できる桁数は log10(224) ≈ 7.225 桁となる。」という記述があります。
この文章でわからないのは、「指数部が全て 0 でない限り」の部分です。
これは、指数部が全て 0 であれば、log10(2^23) ≈ 6.923 で悠桁数が6桁になることも暗に示しているのでしょうか?
また、指数部が0になるときの数字を具体的にイメージができないのですが、どういった数字(10進数)なのでしょうか?
もしご存知の方がいましたら教えていただけると幸いです。
以上、よろしくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
指数部がゼロというのは、正規化数の範囲では、数値のゼロを表現します。
そのため、仮数の整数部もゼロ、小数部もゼロです。参照されているページの「指数部の符号化方式」の所を見てください。
No.1
- 回答日時:
そのWikipediaの記事の「指数部の符号化方式」もよく読んでください。
e=0のときは、「非正規化数」として、 「暗黙の整数ビット1」ではなく「暗黙の整数ビット0」として、仮数を表現します。
「大きい位の0は有効数字に入れない」というルールがありますので、e=0のときは、仮数は最大で23桁〜最小1桁しかありません。
十進6桁どころか、1桁未満の精度にもなります。
1.0 * 2^0 ÷ 2 = 1.0 * 2^-1
1.0 * 2^-1 ÷ 2 = 1.0 * 2^-2
... と、
1.0 * 2^-126
までは、指数を調整して、仮数部 は(暗黙の1を込みで) 24ビットの精度を保ってきます。
これ以上絶対値を小さくしようとすると、指数が表現できなくなります。
そこで指数はそのまま仮数の「暗黙の0」をやめます
1.0 * 2^-126 ÷ 2 = 0.1 * 2^-126
このときに、暗黙の1はやめて0とする、ということを表現するために、 「指数」は2^-126のまま、指数部の符号を 「0」 としまます。
ご回答ありがとうございます。
>そこで指数はそのまま仮数の「暗黙の0」をやめます
という記述はあっていますか??
「そこで指数はそのまま仮数の「暗黙の1」をやめます」
ではないかと思うのですが、どうでしょう??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PDF C#でfloatを整数部、小数部とも桁数固定で文字表示したい 2 2022/07/28 09:37
- Google+ 5+9+24+32+128=? 各数字が2秒ほど表示されます。暗算できますか? 1 2023/02/05 20:16
- 高校 高校化学、気体、温度の有効数字 3 2023/04/02 11:39
- 高校 0から6までの7個の数字の中から異なる3つの数字を用いて、3桁の整数を作る。 1の位、10の位、10 4 2022/06/16 16:44
- 数学 法則名ありますか? 2 2022/10/09 16:21
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- Java Java 南京錠 2 2023/02/04 11:46
- 数学 合同式について 3 2022/05/03 23:14
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
O(n log n)について2
-
ExcelでPC(パソコン)によって...
-
有効数字について 以前質問をし...
-
三菱シーケンサ(Aシリーズ)で...
-
CRCの計算方法について
-
浮動小数点演算を固定小数点演...
-
BCD・HEX・BINについて
-
【C言語】RGBと輝度の計算に関して
-
c languageで 簡単な質問があ...
-
16進数 加算 減算 C言語
-
EXCELの関数"STDEV(標準偏差)"...
-
エクセルの多い桁数を表示させ...
-
Excelで小数点以下の値が正常に...
-
VB6.0での小数点の扱いについて
-
VB.net Double と...
-
”/”を使わずに割り算したいんで...
-
時刻の比較
-
引き算で端数が出る理由
-
教えて小数点の比較!(C言語)
-
Excel VBAでの数値の計算につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
有効数字について 以前質問をし...
-
三菱シーケンサ(Aシリーズ)で...
-
ExcelでPC(パソコン)によって...
-
c languageで 簡単な質問があ...
-
ExcelのINT関数の計算結果がお...
-
VB.net Double と...
-
VBAでミリ秒まで出力する方法
-
16進数 加算 減算 C言語
-
EXCELの関数"STDEV(標準偏差)"...
-
floatの有効桁数
-
除算を使わずに10で割りたい。
-
計算の丸め誤差の解消について
-
VB6.0での小数点の扱いについて
-
コンピューターは指数関数をど...
-
2038年問題 日付算出
-
時刻の比較
-
2進数、16進数、10進数のことを...
-
浮動小数演算は実行環境の変化...
-
2進数の足し算(C言語)
おすすめ情報