3 ポイント 投稿者 GN⁺ 2025-09-13 | まだコメントはありません。 | WhatsAppで共有
  • この記事は、浮動小数点(float) 値がどのように メモリ上に保存 され、表現されるかを説明する
  • 値の 16進数・10進数の形式 と、実際の数値への変換方法に焦点を当てる
  • 符号(Sign)、指数(Exponent)、仮数(Significand) 領域の定義と、それぞれの役割を説明する
  • 特定の float 値が 正確にどのような2進数・10進数の値 を表すのかを解釈する方法の例を含む
  • 表現可能な値どうしの 差分(Delta) の計算 にも触れている

浮動小数点値の保存構造の分析

  • "halfb float float double" など、さまざまな 浮動小数点フォーマット が存在する
  • 各値は、Raw Hexadecimal Integer Value(16進整数値)Raw Decimal Integer Value(10進整数値) のようにメモリ内の保存値として確認できる
  • 16進データは Hexadecimal Form ("%a") として、実際の浮動小数点表記に結び付けられる
  • 各値の位置は Significand–Exponent Range(仮数–指数範囲上の位置) として示される

2進数および10進数の値の解釈方法

  • 浮動小数点数は Base-2(2進法の評価式) として次のように表せる:
    • (−12)02×​102(100010012 − 011111112)​×​1.011111110010100000000002
      → 2進表現式による数値評価
  • Base-10(10進法の評価式) では次の形になる:
    • 1×​210×​1.4967041015625
      → 2の10乗と小数部分の積として表現する
  • 実際に変換した際の 正確な10進数値 も表示される:
    • 1.532625×​103 のような形で示される

隣接する値との距離(Delta)の計算

  • 表現可能な値のあいだの Delta(間隔) は重要な意味を持つ
  • 次(Next)または前(Previous)の 表現可能な値までの距離(Delta to Next/Previous Representable Value) をそれぞれ提供する
    • 例: ±1.220703125×​10-4
  • この間隔は、浮動小数点値の 有効桁数/精度 と関係している

要約

  • 浮動小数点の メモリ表現 と、2進・10進変換の原理
  • sign, exponent, significand 構造の説明
  • 表現範囲と隣接値との間隔情報 もあわせて整理している

まだコメントはありません。

まだコメントはありません。