四倍精度
読み:よんばいせいど
コンピューター内部における数値表現の方法の一つで、浮動小数点数の表現で用いられる。倍精度のさらに倍を意味する。倍々精度とも。
概要
IEEE 754の数値表現においては、符号部1ビット、指数部15ビット(+16383のゲタをはかせるバイアス方式)、仮数部112ビット(基数2)の128ビット長である。但し後述するように仮数部は実質113ビットであり、有効桁数は10進数表現で33桁程度となる。
IEEE 754ではbinary128として定義されている。
特徴
仮数部
128ビットの中に収められる仮数部の長さは112ビットだが、実際にはこの精度は113ビットとされている。
これは、0/NaN/∞などを除いて、正規化により「1.」の部分を暗黙的に定義することでビット数を稼ぎ、都合113ビットとしているためである。この「1.」は、「暗黙の整数ビット」や「implicit」などと呼ばれている。
「1.」が存在するが、0は0で別途、指数部=仮数部=0の場合に0として定義されており、表現することが可能である。
プログラミング
C/C++では一般的な実装には存在しない。実装によっては、long double型が対応する可能性があるが、主流の処理系で実際に対応するものはない。GCC独自拡張で__float128型が存在する。
Javaには該当する型がない。Javaではjava.math.BigDecimalクラスが存在するが、四倍精度と対応するものではない。
再検索