組込み関数(MAXNUMとEPS) ☆ MAXNUM 最大の正の数 (これより大きいと桁あふれのエラーになる限界) 十進モードのとき,MAXNUMの値は1E99。 2進モードでは,およそ1.8E308。 <備考> 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> EPS関数は,有理数モードでは使えない。