浮動小数点数 【floating point number】

概要

浮動小数点数(floating point number)とは、コンピュータにおける数値の表現形式の一つで、数値を桁の並びを表す仮数部と小数点の位置を表す指数部に分割して表現する方式。小数点以下のを含む数値の表現法として最も広く利用されている。

一つの数値を符号部(正負)、仮数部指数部の3つのデータの組み合わせで表現(データ形式としては符号-指数-仮数の順に格納することが多い)する。仮数基数(通常は2)を指数乗したを乗じ、符号を付け加えたものが表現する数値となる。

例えば、「-4.375」は2進数では「-100.011」であり、仮数指数に分離すると「-1.00011×1010」(はすべて2進表記)となる。符号は正を0、負を1とすることが多いため、符号部は「1」、仮数部は「100011」、指数部は「10」となる。数値が0の場合は符号指数は不定となるが、便宜上各部をすべて0としたもの(+0.0×100)を0の表現として扱うことが多い。

IEEE 754形式

浮動小数点数は全体のデータ長仮数部指数部ビット数の配分などで様々な形式が存在するが、広く普及している標準規格としてIEEE 754形式が知られる。

全体で16ビット符号1+指数5+仮数10)の「半精度浮動小数点数」、32ビット符号1+指数8+仮数23)の「単精度浮動小数点数」、64ビット符号1+指数11+仮数52)の「倍精度浮動小数点数」、128ビット符号1+指数15+仮数112)の「四倍精度浮動小数点数」の4つの形式が定められており、それぞれ表現できる数値の幅の異なる。実用上は単精度倍精度がよく用いられ、プログラミング言語論理回路などでもこの2つに標準で対応しているものが多い。

仮数の2進数表現は先頭が必ず1になる(2以上の数字は使わない)ため、これを省略して代わりに下位の桁の表現に回す手法(俗にケチ表現という)が用いられる。また、指数部符号なし整数とするため、本来のに最大値の半分-1を足した表現(俗にゲタ履き表現という)を用いる。例えば指数部が8ビットの場合は127を加え、128が1を、126が-1を表す。

単精度浮動小数点数 (single precision floating point number)

数値を仮数部指数部に分けて表現する浮動小数点数の形式の一つで、一つの数値を32ビットデータで表現する方式のこと。多くのプログラミング言語などでは単に浮動小数点といえば単精度を意味し、“float” などの名称で表されるデータ型が用意されている。

IEEE 754標準で規定された形式では32ビットのうち先頭1ビットが正負の符号部(0が正、1が負)、続く7ビット指数部基数は2)、残り24ビット仮数部となる。表現できるの大きさの範囲は十進表記で約1.2×10-38~約3.4×1038であり、精度は十進7桁程度となる。

倍精度浮動小数点数 (double precision floating point number)

数値を仮数部指数部に分けて表現する浮動小数点数の形式の一つで、一つの数値を64ビットデータで表現する方式のこと。多くのプログラミング言語などが高精度な数値計算のために組み込みデータ型として用意しており、 “double” などの名称で表される。

IEEE 754標準で規定された形式では64ビットのうち先頭1ビットが正負の符号部(0が正、1が負)、続く11ビット指数部基数は2)、残り52ビット仮数部となる。表現できるの大きさの範囲は十進表記で約2.2×10-308~約1.8×10308であり、精度は十進16桁程度となる。

(2018.3.16更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる