宇宙誕生の少し前から宇宙終焉の少し先までを数で表す論文

この宇宙を数で表すことは出来るのか。

第1-7節 浮動小数点演算と IEEE754


















目次

浮動小数点演算と IEEE754

整数演算では表現できない
小数や非常に大きな数を扱うために、
CPUは浮動小数点演算を行います。

この表現方法は、
国際規格 IEEE754 として
標準化されています。

なぜ浮動小数点が必要か

整数では、

  • 0.1 や 0.01 のような小数
  • 非常に大きな値や非常に小さな値

を正確に表現できません。

浮動小数点は、
指数表現を用いることで、
広い範囲の数値を扱えるようにしています。

浮動小数点の基本構造

IEEE754 では、
数値を次の3要素で表します。


| 符号 |   指数   |        仮数        |

  • 符号:正か負か
  • 指数:数のスケール
  • 仮数:有効数字

精度の種類

種類 ビット数 用途例
半精度 16 bit GPU・機械学習
単精度 32 bit 一般的な計算
倍精度 64 bit 科学技術計算

丸め誤差という問題

浮動小数点では、
すべての実数を正確に表せるわけではありません

そのため、


0.1 + 0.2 ≠ 0.3


のような結果が
プログラム上で発生します。

これはバグではなく、
浮動小数点表現の性質です。

FPU(浮動小数点演算装置)

浮動小数点演算は、
ALUとは別の
FPU(Floating Point Unit)
で処理されます。

現代のCPUでは、
FPUはCPU内部に統合され、
高速に演算を行います。

CPUとGPUの役割分担

浮動小数点演算は、
CPUだけでなくGPUでも
大量に実行されます。

特に、

  • 3Dグラフィックス
  • 画像処理
  • 機械学習

では、
GPUの並列演算能力が
活かされます。

第7節のまとめ

  • 浮動小数点は実数を扱うための表現方法
  • IEEE754 が世界共通規格
  • 精度と誤差の理解が重要
  • CPUとGPUで役割分担される

次に読むべき節