Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.0 - 日本語

Change language to:
English - Français - Português - Русский

Please note that the recommended version of Scilab is 2024.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Elementary Functions > Floating point > number_properties

number_properties

浮動小数点数パラメータを定義する

呼び出し手順Calling Sequence

pr = number_properties(prop)

パラメータ

prop

文字列

pr

実数または論理値のスカラー

説明

この関数は F(b,p,emin,emax)で定義された 浮動小数点数の集合 (通常は IEEE 754 で定義された64bit浮動小数点数の集合) の数値的特徴を取得する際に使用することができます. F の数値は以下のように作成されます:

sign * m * b^e

eは指数, m は仮数です:

m = d_1 b^(-1) + d_2 b^(-2) + .... + d_p b^(-p)

d_i の桁は[0, b-1]の範囲, e[emin, emax]の範囲となり, d_1 ~= 0の場合, 数値は"正規化"されます. 以下の値を取得できます:

prop = "radix"

この場合, pr は 集合 Fの基数bとなります

prop = "digits"

この場合, prpの桁数になります

prop = "huge"

この場合,prFの最大の正の浮動小数点数となります

prop = "tiny"

この場合,prFの正規化された最小の正の浮動小数点数となります

prop = "denorm"

この場合,pr は論理値となります (正規化されていない数値が使用されている場合は %t)

prop = "tiniest"

この場合,prが 最小の正の非正規化数の場合に denorm = %t, そうでない場合に pr = tiny となります

prop = "eps"

この場合, pr は,機械イプシロン (通常は b^(1-p))/2)となります. 機械イプシロンは, (|x|[tiny, huge]の範囲にあるような) xFにおける 浮動小数点近似であるfl(x)の間の 相対誤差の最大値です.

prop = "minexp"

この場合, preminです

prop = "maxexp"

この場合, premaxです

注意

この関数は機械パラメータを取得するために LAPACKルーチン dlamch を使用します. (名前 (radix, digit, huge, など...) は LIA 1 規格で推奨されたもので, 対応する Lapack の定義とは異なっています) ; 注意: 機械イプシロンに関して以下のような定義を見ることが あるはずです: eps = b^(1-p) しかし, この関数では伝統的な定義 (前記のprop = "eps"を参照)を 使用しており, このため,通常の丸めが発生する場合にeps = (b^(1-p))/2 ,そうでない場合にeps = b^(1-p) となります.

b = number_properties("radix")
eps = number_properties("eps")

参照

  • nearfloat — 前のまたは次の浮動小数点数を取得
  • frexp — 浮動小数点数を2を基底とする指数部と仮数部に分解する
Report an issue
<< nextpow2 Floating point round >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:23 CEST 2012