十進BASICの数値モード

数値モード 三角・指数・対数 SQR(x) INTSQR(x) GCD(a,b) 多倍長
十進 × × ×
十進1000桁 × × × ×
2進 × × ×
複素数 × × ×
有理数 × ×


以下に示すOPTION ARITHMETIC文を各プログラム単位(主プログラムと外部手続き)に書くと,ツールバーアイコンで指定される数値モードに関係なく動作させることができる。

十進       OPTION ARITHMETIC DECIMAL   (Full BASIC互換)
十進1000桁 OPTION ARITHMETIC DECIMAL_HIGH
2進        OPTION ARITHMETIC NATIVE    (Full BASIC互換)
複素数     OPTION ARITHMETIC COMPLEX
有理数     OPTION ARITHMETIC RATIONAL

主プログラムに書いたOPTION文は,外部手続き(外部関数,外部副プログラムなど)には効力が及ばないことに注意。

数値モードの選択
十進1000桁モードは,小数で近似して計算する場合に用いる。
近似を用いたくない場合や,(1000桁を超える)長大桁の整数を扱いたい場合には有理数モードを使う。
1000桁モードにするか有理数モードにするかの選択のカギは,SQR関数を使うか否か。

例 コラッツ予想(奇数は3倍して1を加え,偶数は2で割る計算をくり返すといつかは1になる?)
数値がどこまで大きくなるかわからないので有理数モードを使う。1000桁モードは適さない。

OPTION ARITHMETIC RATIONAL
INPUT n
DO 
   IF MOD(n,2)=0 THEN 
      LET n=n/2 
   ELSE
      LET n=3*n+1
      PRINT n
   END IF
LOOP UNTIL n=1
END

戻る