Go to the first, previous, next, last section, table of contents.


浮動小数

浮動小数(float)は、 科学記法でストアされた数です。 小数部の有効数字桁数は、 現行の浮動小数精度によって決められます(計算精度(Precision) 参照 )。 値の許容範囲は 10^-3999999(以上) 〜 10^4000000(未満)、 および対応する負の値とゼロです。

演算結果が許容範囲を越えてしまう(`exp(exp(20))のような')計算は、 シンボリックなまま残されます。 "floating-point overflow" や "floating-point underflow" というメッセージは、 それぞれ Calc にとって大きすぎる、 あるいは小さすぎる値が計算中に生成されたであろうことを意味します。 これは最終結果のオーバーフローを必ずしも意味せず、 ただ計算途中でオーバーフローがあったということを示すだけです。 (実際、たとえ最終結果がオーバーフローしようが、 アンダーフローを報告したかも知れません。)

有理数と浮動小数が混在する計算の結果は、 一般に浮動小数で表現されます。 (k g [gcd] のような)整数値を要求するコマンドは、 整数値の浮動小数、つまり小数点以下がゼロの浮動小数も許容します。

浮動小数は、小数点かつ/またはべき指数の存在によって識別されます。 一般に浮動小数は、 符号(省略可), 小数点(省略可)を含む数字, べき指数(省略可)から成り、 べき指数は、ひとつの `e' 記号, 符号(省略可), 7桁までの指数から成ります。 例えば `23.5e-2' は、23.5 かける 10 の -2乗で、 つまり 0.235 です。

浮動小数は通常、有効桁の全てが10進表記で表示されます。 非常に大きいか、小さい数は科学表記で表示されます。 その他いろいろな表示オプションが利用できます。 Float Formats 参照 。

浮動小数は、2進ではなく10進でストアされます。 各計算結果は、現行精度で指定された有効桁数における近似値に四捨五入されます。 従って、(デフォルトの表示モードでは)得られる値は表示されているとおりです。 平方根や超越関数のような演算は、最終結果の精度を保つために、 何桁か余分の精度で実行されたのち丸められます しかしそれでも、精度は厳密には保証されていません。 もし結果の妥当性が疑わしい場合は、 計算の桁(precision)を増やして同じ計算をやり直してみてください。 Calc の計算は IEEE への準拠をまったく意図していません。

浮動小数は常に 10進でストアされますが、 入力や表示は、ちょうど整数や分数と同じように、 任意の基数で実施できます。 `radix#ddd.ddd' という表記は、 radix進数で表現した浮動小数です。 この場合、`.' は"decimal point(10進小数点)"と言うより "radix point(radix小数点)" と呼ぶべきですね。 `8#123.4567'`8#1234567 * 8^-4' と定義されます。 基数が 14以下の場合は、 10進数でなくとも `e' 記法を使って科学表記できます。 指数部は 10進で書かれ、しかも基数のべき乗と見なされます: `8#1234567e-4'。 基数が 15以上の場合は文字 `e' も数字ですから、 科学表記法を略記できません。 つまり、`16#123.4567*16^2' と書かなければなりません。 モードに関するチュートリアルの、はじめの 2つの練習問題は、 非10進浮動小数の性質を探求しています。


Go to the first, previous, next, last section, table of contents.     利用度数