[解決済み】doubleに格納できる最大の整数
2022-05-02 15:29:56
質問
IEEE 754 の double 型に精度を落とさずに格納できる最大の "no-floating" 整数は何でしょうか?
解決方法は?
doubleに精度を落とさずに格納できる最大/最大の整数は、doubleの可能な最大値と同じです。ということです。
DBL_MAX
または約1.8×10
308
(ダブルがIEEE754の64ビットダブルの場合)。これは整数です。正確に表現されている。これ以上何が必要なんだ?
続けて、そのような最大の整数は何かと尋ねてみてください。 とすべての小さい整数 は、精度を落とさずにIEEE64ビットの2倍で格納することができます。IEEE64ビットダブルは仮数が52ビットなので、2だと思います。 53 :
- 2 53 先頭の1と末尾の1の間に0が多すぎるため、+1を格納することはできません。
- 2より小さいもの 53 が格納でき、仮数には52ビットが明示的に格納され、さらに指数が実質的にもう1つ与えられます。
- 2 53 は、2の小乗であるため、明らかに格納可能です。
別の見方をすれば、指数からバイアスを取り除き、符号ビットを問題に無関係として無視すれば、doubleが格納する値は2の累乗であり、52ビット整数に2を掛けたものである。 指数-52 . つまり、指数52で、2以下のすべての値を格納することができます。 52 から2まで 53 - 1. 次に指数53で、2の次に格納できる数 53 は2 53 + 1 × 2 53 - 52 . そのため、精度の損失はまず 2 で発生します。 53 + 1.
関連
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] 通貨を表すのにDoubleやFloatを使ってはいけないのですか?
-
[解決済み] HTML5でfloat入力タイプはありますか?
-
[解決済み] 除算を強制的に浮動小数点にするにはどうしたらいいですか?除算は0に切り捨てられ続けますか?
-
[解決済み] JavaScriptで浮動小数点数の精度を扱うには?
-
[解決済み] 浮動小数点以下の0を削除して文字列に変換する方法
-
[解決済み] floatとdoubleの違いは何ですか?
-
[解決済み】JavaのFloatとdoubleのデータ型について
-
[解決済み] IEEE754の浮動小数点が正確に表現できない最初の整数はどれでしょう?
-
[解決済み] interface{}の値の "実 "型を決定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン