``

前頁 メニュー 次頁

    組込み関数（MAXNUMとEPS） ☆

    MAXNUM     最大の正の数
    （これより大きいと桁あふれのエラーになる限界）
    　　十進モードのとき，MAXNUMの値は1E99。
    　　2進モードでは，およそ1.8E308。
    　　10進1000桁モードでは，MAXNUM=1E1008。

    <備考> MAXNUMは予約語。
    <Note> 有理数モードではMAXNUMは未定義(使用すると翻訳時にエラーになる)。

    EPS(x)     xの前後の数との差の絶対値のうち大きいほう。
      ただし，それがEPS(0)より小さいときはEPS(0)。

`EPS関数の値は，指定された数値の前後での数値の'分解能'。これより細かく数値を扱うことができない限度を示す。JISでは定義が明確ではないが，本BASICでは数値変数の精度を基準に定義している。`

`本BASICでは有効数字の桁数は15桁なので， 1以上10未満の数値` x `に対して EPS(`x`) = 1E-14となる。`

`EPS(0)は最小の正の数。本BASICでは，EPS(0)=1E-99。これより絶対値の小さい数値を数値変数に代入すると，0になる。`

``x`≠0のとき，EPS関数を指数・対数を用いて表現すると，`

`EPS(`x`)=MAX(10^(INT(LOG10(ABS(`x`))-14)),1E-99)`

    となる。
    <Note>  arithmetic Nativeのときは，

`EPS(0)=2^(-1074)≒4.94E-324で，`x`≠0のとき，EPS(`x`)はMAX(2^(INT(LOG2(ABS(x))-52)),EPS(0))に相当する。`

    <Note>
     10進1000桁モードのとき，EPS(0)=1E-1007。
     EPS関数は，有理数モードでは使えない。