浮動小数点演算とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > 浮動小数点演算の意味・解説 

ふどうしょうすうてん‐えんざん〔フドウセウスウテン‐〕【浮動小数点演算】

読み方:ふどうしょうすうてんえんざん

小数点位置固定されない浮動小数点数用いて行う四則演算コンピューターにおいては、扱う数の絶対値大きく異なっていても任意の誤差範囲内計算できるため、科学計算に向く。→固定小数点演算

[補説] 例えば「1500×0.06」という乗算場合浮動小数点数表現すると「1.5×103」×「6×10−2」となり、仮数部の積「1.5×6」と指数部の積「103×10−2」を分けて計算し、「9」×「101」すなわち「90」が得られるコンピューターでの実際演算処理は二進法行われる


浮動小数点数

(浮動小数点演算 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/10 04:44 UTC 版)

浮動小数点数(ふどうしょうすうてんすう、: floating-point number)は、実数コンピュータで処理(演算や記憶、通信)するために有限桁の小数で近似値として扱う方式であり[1]、人間が多く用いる10進数での数値の計算や表記に加えて、コンピュータの数値表現で多く用いる2進数の数値でも採用されている。多くの場合、符号部、固定長の指数部、固定長の仮数部、の3つの部分を組み合わせて、数値を表現する。

概要

この節はパターソンらの記述に基づく[1]

実数は0以上かつ1以下のような有限の範囲でも、無限個の値(種類)が存在するため、コンピュータでは妥当なビット数で有限個の値(種類)の近似値で扱う必要がある。

実数-1/3は10進数表現では無限小数となるが、有限桁の小数で近似値を表記できる。下の例では10進数での4桁としている。

-1/3
-1 x 0.33333333333333...
-1 x 0.3333 x 100
-1 x 3.333 x 10-1

下の2つの表記は科学記数法 (scientific notation) とよばれ、小数点より左側の整数部分を1桁とする。 科学記数法のうち、仮数部の最上位の桁が0以外(10進表記では1から9)であるものを、正規化数 (normalized number) とよび、 上記の最後の表示が該当する。科学記数法も、10進数表記での浮動小数点数である。

実数-1/3はまた、2進数でもその近似値を有限桁の小数で表記できる。下の例では2進数17桁としている。

-1/3
-1 x 0.01010101010101010101010101010101...
-1 x 0.0101010101010101
-1 x (2-2 + 2-4 + 2-6 + 2-8 + 2-10 + 2-12 + 2-14 + 2-16)
-1 x (1/4 + 1/16 + 1/64 + 1/256 + 1/1024 + 1/4096 + 1/16384 + 1/65536)
-0.333328247(近似値の10進数表記)

2進数の小数も科学記数法で表記できる。

-1 x 0.0101010101010101 x 20
-1 x 0.101010101010101 x 2-1
-1 x 1.01010101010101 x 2-2

上記は同じ値を、小数点の位置を移動し異なる表記にしているため、2進数表記での浮動小数点と呼ばれる。一番下の表記は、正規化数である。

コンピュータ内部での演算処理に最も適した浮動小数点数の表現は基数2であり、符号 (sign) S、仮数 (significand) F、指数 (exponent) Eにより下記の式で表記できる。

(-1)S x F x 2E

数値に対する演算をあまり行なわずに数値を格納したり比較をする場合,あるいは演算が10進数でなければ正しく表せないような(お金の計算などの)用途では,計算機内部で10進数表現が 用いられる場合がある。

浮動小数点数のフォーマット

浮動小数点数のフォーマットには、以下で説明するものの他、以前は多数あった。

  • IEEE方式(IEEE 754。最も広く採用されている標準規格
  • IBM方式(IBMのメインフレームおよびそれを模倣した各社の互換マシンで使われていた。指数部を基数16で表現するのが特徴)
  • 指数部と仮数部を可変とする方式(これは研究用の面が強い。以下の該当する節で詳述)

IEEE方式(IEEE 754 形式)

単精度浮動小数点数型式
sign:符号部、exponent:指数部、fraction:仮数部
倍精度浮動小数点数型式

IEEE 754 形式の

  • 半精度浮動小数点数では、符号部 1 ビット ・ 指数部 5 ビット ・ 仮数部 10 ビット
  • 単精度浮動小数点数では、符号部 1 ビット ・ 指数部 8 ビット ・ 仮数部 23 ビット
  • 倍精度浮動小数点数では、符号部 1 ビット ・ 指数部 11 ビット ・ 仮数部 52 ビット
  • 四倍精度浮動小数点数では、符号部 1 ビット ・ 指数部 15 ビット ・ 仮数部 112 ビット

で表現されている。各部は次のように定義されている。

  • 符号部は、 0 を正、1 を負とする
  • 仮数部は、整数部分が 1 であるような2進小数の小数部分(ケチ表現)を表す
  • 指数部は、符号なし2進整数とし、半精度では 15、単精度では 127、倍精度では 1023、四倍精度では 16383 のゲタを履かせたゲタ履き表現で表す

つまり、IEEE 754 形式で表現する値は

半精度の場合: (−1)符号部 × 2指数部 − 15 ×(1 + 仮数部)
単精度の場合: (−1)符号部 × 2指数部 − 127 ×(1 + 仮数部)
倍精度の場合: (−1)符号部 × 2指数部 − 1023 ×(1 + 仮数部)
四倍精度の場合: (−1)符号部 × 2指数部 − 16383 ×(1 + 仮数部)

である。

ただし、IEEE 754 形式の指数部は複雑で、以下のような役割も持つ。

  • 通常の浮動小数点数(正規化数)を表現するのは、指数部が単精度で 254 ~ 1(127 ~ −126)、倍精度で 2046 ~ 1(1023 ~ −1022)の範囲のときである
  • 指数部が、単精度の場合 255(128)、倍精度の場合 2047(1024)のとき:
    仮数部が 0 以外の場合は、非数(NaN; Not a Number)を表す
    仮数部が 0 の場合は、符号部が 0 のときは正の無限大、符号部が 1 のときは負の無限大を表す
  • 指数部が 0(単精度の場合 −127、倍精度の場合 −1023)のとき:
    非正規化数
  • 指数部、仮数部ともに 0 のときは ±0 を表す

0 を 0 で割ろうとすると NaN になる。また、

外部リンク

  • 浮動小数点演算について (1991 年 3 月発行の "Computing Surveys" に掲載された "Every Computer Scientist Should Know About Floating-Point Arithmetic" 稿 (David Goldberg著) を再編集したもの)

ウィキペディアウィキペディア

浮動小数点演算

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/19 08:15 UTC 版)

R4000」の記事における「浮動小数点演算」の解説

R4000IEEE 754-1985 準拠FPUを同じチップ上に搭載しており、その部分を R4010 と呼ぶこともある。FPUCP1コプロセッサとして動作するMIPS ISA ではCP0からCP3まで4つコプロセッサ利用できるよう定義している)。CPUステータスレジスタFRビット設定により、FPU32ビットモードと64ビットモードを切り替えることができる。32ビットモードでは32本の浮動小数点レジスタそれぞれ32ビット幅となり、32個の単精度浮動小数点数格納するか、2本のレジスタ1組として16個の倍精度浮動小数点数格納するFPUデータリソース依存関係なければALU同時に動作可能で、依存関係があればストール発生するFPUには3つのサブユニットがあり、それぞれ加算器乗算器除算器である。乗算器除算器は加算器並行命令実行できるが、乗算除算最終段で加算器使用するため、並行実行にも制限がある。したがってFPUでは最大3個の命令加算乗算除算)を並行実行でき、1サイクルに1命令実行に移すことができる。 加算器乗算器パイプライン化されている。乗算器4段パイプラインになっており、性能上のため dynamic logic使ってマイクロプロセッサクロックの2倍の周波数駆動される除算には23サイクル単精度)または36サイクル倍精度)かかり、平方根計算にはそれぞれ54サイクルまたは112サイクルレイテンシ生じる。除算平方根計算には、SRT除算アルゴリズム使っている。

※この「浮動小数点演算」の解説は、「R4000」の解説の一部です。
「浮動小数点演算」を含む「R4000」の記事については、「R4000」の概要を参照ください。

ウィキペディア小見出し辞書の「浮動小数点演算」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

カテゴリ一覧

すべての辞書の索引



Weblioのサービス

「浮動小数点演算」の関連用語

1
整数演算 デジタル大辞泉
100% |||||


3
コプロセッサー デジタル大辞泉
100% |||||

4
フロップス デジタル大辞泉
100% |||||

5
Pフロップス デジタル大辞泉
100% |||||

6
Tフロップス デジタル大辞泉
100% |||||

7
100% |||||


9
100% |||||

10
100% |||||

浮動小数点演算のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



浮動小数点演算のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの浮動小数点数 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのR4000 (改訂履歴)、GPGPU (改訂履歴)、TAC (コンピュータ) (改訂履歴)、キーワード (Java) (改訂履歴)、Javaに対する批判 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS