__float80

読み:アンダースコア・アンダースコア・フロートはちじゅう
外語:__float80 英語
品詞:名詞

CおよびC++における非標準の変数型で、80ビット長の浮動小数点数を宣言する。

目次

実数型変数の型の一つ。x87(x86のFPU)の変数長である長倍精度の実数を宣言する、実装独自の変数型である。

GCC 4.6以降でこの変数型に対応している。

実装上は、次の関係が成り立つ。

floatdoublelong double__float80__float128

仕様

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

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

仮数部

80ビットの中に収められる仮数部の長さは64ビットだが、実際にはこの精度は65ビットとされている。

これは、0/NaN/∞などを除いて、正規化により「1.」の部分を暗黙的に定義することでビット数を稼ぎ、都合65ビットとしているためである。この「1.」は、「暗黙の整数ビット」や「implicit」などと呼ばれている。

「1.」が存在するが、0は0で別途、指数部=仮数部=0の場合に0として定義されており、表現することが可能である。

符号

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

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

仕様

x86のGCC実装では、__float80とlong doubleは等価である。

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

直定数の接尾辞(サフィックス)は、wまたはWである。

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

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


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