FE EXAM

IEEE 754 倍精度(64ビット高精度版)

単精度(32 ビット)の倍にあたる64 ビット浮動小数点規格符号 1 + 指数 11 + 仮数 52 でビット数が大幅に増え、桁数も精度も飛躍的に上がります。

INTERACTIVE VISUALIZATION
符号 S (1bit)
指数 E (11bit)
仮数 M (52bit)
符号
0 (+)
指数(実)
+0
仮数値
1.0000000000
10進値
1
10進数を入力
プリセット
64 ビット全部を表示。式は 値 = (-1)S × 1.M × 2E-1023。仮数が単精度の23ビット→52ビットに増え、精度が約 7 桁→15〜17 桁に向上します。
S (1bit)
E (11bit)
保存値 1023
M (52bit)
4bit×13
計算式
値 = (-1)0 × 1.0000000000 × 20=1
解説

📌
IEEE 754倍精度とは

IEEE 754 倍精度とは、浮動小数点数を 64ビット(8バイト)で表現する規格です。単精度(32ビット)の倍のビット数を使うことから「倍精度」と呼ばれます。

多くのプログラミング言語の double 型・float64 型はこのフォーマットです。実はJavaScript の number 型もすべて IEEE 754 倍精度です(整数も含めて)。

値の式は単精度と同じ形ですが、バイアスが変わります:
値 = (-1)S × 1.M × 2E - 1023
 ・S: 符号部(1ビット)
 ・E: 指数部(11ビット、バイアス 1023)
 ・M: 仮数部(52ビット、暗黙の 1. は別途)

📌
64ビットの内訳

位置ビット数役割バイアス
bit 631 bit符号部 S
bit 62-5211 bit指数部 E(バイアス済み)+1023
bit 51-052 bit仮数部 M(1. を省略)

バイアス値の計算式: 2(指数部ビット数 − 1) − 1 なので、11 ビットの場合は 2¹⁰ − 1 = 1023。単精度の 127 と公式は同じ、ビット数だけ違います。

📌
単精度との比較

項目単精度 (float32)倍精度 (float64)
総ビット数3264
符号11
指数811
仮数2352
バイアス値1271023
正の最大値約 3.4 × 10³⁸約 1.8 × 10³⁰⁸
正の最小値(正規化)約 1.18 × 10⁻³⁸約 2.23 × 10⁻³⁰⁸
10進精度約 7 桁約 15〜17 桁

使い分けのポイント:
単精度: メモリ・転送量を抑えたい場面(グラフィック、機械学習の学習など)
倍精度: 精度が必要な場面(科学計算、金額計算、汎用プログラミング)
・現代のCPUでは速度差はほぼないので、特に理由がなければ倍精度が標準

上のツールで「0.1」を選び、単精度のページと見比べてみてください。倍精度では仮数 52 ビットすべてを使った精密な近似値が見られます。それでも 0.1 は2進数で循環小数なので「完全」にはなりません──これが 0.1 + 0.2 ≠ 0.3 問題が倍精度でも残る理由です。

関連コンテンツ

IEEE 754 倍精度 | Vizigo