double

読み:ダブル
外語:double 英語
品詞:名詞

C/C++/Javaなどの予約語の一つ。

目次

実数型変数の型の一つ。floatと同じかそれより大きい浮動小数点数を表わす。

C/C++の場合は倍精度(概ね8バイト≒64ビット)浮動小数点である。

但し、言語仕様上はビット長は保証されておらず、

floatdoublelong double

とされている。

仕様

実装にもよるが、IEEE 754倍精度(binary64)に対応させるものが多い。

符号部1ビット+指数部11ビット+仮数部52ビット(実質53ビット)で、指数に+1023のゲタをはかせるバイアス方式、基数2の64ビット長である。

有効桁数は10進数表現で15桁程度。

符号

doubleは浮動小数点形式で値を扱うため、整数型と異なり、常に符号ありで処理される。

したがって、signed/unsignedによる符号の有無の指定は無効で、エラーになる。

C/C++

利用法

printfでは%fなどで表わす。

直定数の接尾辞(サフィックス)は、不要。

マクロ定数

ANSI Cの時代より、float.hにおいて以下の9個のマクロ定数が定義されるようになった。これを利用すると、その環境での長さを得ることができる。

また最後の二つ(_から始まるもの)は標準外だが、実装による拡張で、実装により存在する。

DBL_DIG
10進数精度 (例えば15)
DBL_EPSILON
1.0+DBL_EPSILON != 1.0 となる最小値 (例えば2.2204460492503131e-016)
DBL_MANT_DIG
仮数ビット長 (例えば53)
DBL_MAX
最大値 (例えば1.7976931348623158e+308)
DBL_MAX_10_EXP
最大10進指数 (例えば308)
DBL_MAX_EXP
最大2進指数 (例えば1024)
DBL_MIN
最小値 (例えば2.2250738585072014e-308)
DBL_MIN_10_EXP
最小10進指数 (例えば-307)
DBL_MIN_EXP
最小2進指数 (例えば-1021)
_DBL_RADIX
指数の基数 (例えば2)
_DBL_ROUNDS
丸めモード (例えば1)

Java

Javaでは、double型の直定数(リテラル)は、サフィックスにdまたはDを付けて表わす。

double a = 1.2d;

但し、Javaの場合、サフィックスを付けずに実数を記述するとdouble型となるため、通常はサフィックスは必要が無い。

用語の所属
数値表現
浮動小数点
関連する用語
単精度
float
long double

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club