[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4 浮動小数点数

浮動小数点数を受け取ったり、生成したりするコマンドは、 下層で動いているシステムの浮動小数点表現法を使用しており、 丸めエラー、オーバーフローなど、浮動小数点にかかわる問題をかかえている。 最近のシステムでは、ほとんどすべてが IEEE-754 の浮動小数点を採用しているので、 今日では IEEE-754 の動作を想定しておけば、たいていどこでも問題がない。 IEEE-754 には、正と負の無限があり、正と負のゼロを区別する。 また、NaN (訳注: Not a Number) という特別な値を使って、 ゼロをゼロで割るといった無効な演算を表現する。 より詳しい情報については、デイビッド・ゴールドバーグの論文 "What Every Computer Scientist Should Know About Floating-Point Arithmetic" をご覧になるとよい。

浮動小数点数をオプションやオペランドや入力として受け取るコマンドは、 C の標準関数 strtodstrtold を使って、 テキストを浮動小数点数に変換している。従って、そうした浮動小数点数には、 1.0e-34-10e100 といった指数表現が使用できる。 浮動小数点を解析するコマンドは、大文字小文字を区別しない inf, infinity,NaN といった値も理解する。 もっとも、そうした値が役に立つかどうかは、そのコマンド次第だ。 最近の C の実装では、16 進の浮動小数点数も使える。 たとえば、-0x.ep-3 といったものだが、これは -14/16 掛ける 2^-3 を表し、-0.109375 に等しい。小数点を表す記号が何になるかは、 LC_NUMERIC のロケールによって決まる。 See (libc)Parsing of Floats section ‘Parsing of Floats’ in The GNU C Library Reference Manual.


This document was generated on June 7, 2022 using texi2html 1.82.