INT |
[機能] 小数点以下を切り捨てて、値を超えない最大の整数を返します。
[書式] INT(n)
[説明]
値がマイナスの時の結果がFIXと異なります。
[例]
print
int(-5.4)
-6
FIX |
[機能] 値の整数部を返します。
[書式] FIX(n)
[説明]
[例]
print
fix(-5.4)
-5
ABS |
[機能] 絶対値を返します。
[書式] ABS(n)
[例]
print abs(-5.4)
5.4
SGN |
[機能] 符号を求めます。
[書式] SGN(n)
[説明]
正か負かを最小値1の符号付きで返します。
0のときは0を返します。
[例]
print
sgn(-5.4); sgn(0); sgn(5.4)
-1 0 1
SQR |
[機能] 平方根を得ます。
[書式] SQR(n)
[例]
print sqr(256)
16
SIN |
[機能] 正弦(サイン)を得ます。
[書式] SIN(n)
[説明]
n
の単位はラジアン。
(init命令で360単位の角度に変更できます)
[例] [smp_sin.bas]
100 cls 3
110 line(0,120)-(360,120),col(15)
120 for i=0 to 360
130 r=rad(i)*2
140 pset(i,cos(r)*64+120),col(10)
150 pset(i,sin(r)*64+120),col(9)
160 pset(i,tan(r)*16+120),col(12)
170 next
180 line(0,0)-(360,32),0,bf
190 line(0,208)-(360,240),0,bf
COS |
[機能] 余弦(コサイン)を得ます。
[書式] COS(n)
[説明]
n
の単位はラジアン。
(init命令で360単位の角度に変更できます)
[例]
参照;sin
[smp_sin.bas]
TAN |
[機能] 正弦(タンジェント)を得ます。
[書式] TAN(n)
[説明]
n
の単位はラジアン。
(init命令で360単位の角度に変更できます)
[例]
参照;sin
[smp_sin.bas]
ATN |
[機能] 逆正接(アークタンジェント)を得ます。
[書式] ATN(n)
[説明]
そのタンジェントが n であるような角度を返します。
戻り値の単位はラジアンになります。
(init命令で360単位の角度に変更できます)
[例]
print
atn(0.25534192122103627)
0.25
ASIN |
[機能] 逆正弦(アークサイン)を得ます。
[書式] ASIN(n)
[説明]
そのタンジェントが n であるような角度を返します。
戻り値の単位はラジアンになります。
(init命令で360単位の角度に変更できます)
[例]
print
asin(0.479425538604203)
0.5
ACOS |
[機能] 逆余弦(アークコサイン)を得ます。
[書式] ACOS(n)
[説明]
そのタンジェントが n であるような角度を返します。
戻り値の単位はラジアンになります。
(init命令で360単位の角度に変更できます)
[例]
print
acos(0.7316888688738209)
0.75
LOG |
[機能] 自然対数を得ます。
[書式] LOG(n)
EXP |
[機能] 自然対数の底e に対する指数関数の値を得ます。
[書式] EXP(n)
FAC |
[機能] n
の階乗(1からnまでのすべての整数の積)を得ます。
[書式] FAC(n)
[例]
print
fac(5)
120
PI |
[機能] 円周率(π)の値を得ます。
[書式] PI(n)
[説明]
n
には倍率を指定します。
n を省略したときは1になり 3.141592653589793を返します。
[例]
print pi()
3.141592653589793
VAL |
[機能] 数字で表された文字列を実際の数値に変換して返します。
[書式] VAL(文字列)
[説明]
文字による数値表現を実際の10進数数値に変換します。
文字列の先頭が'&h'で始まる場合、以下の文字を16進数表記の値とみなして10進数数値化します。
文字列の先頭が'&b'で始まる場合、以下の文字を2進数表記の値とみなして10進数数値化します。
2進数の左端16bit目はマイナスのフラグ(1のときマイナス)になっています。
[-32762?-1]と[32762?65535]は2進数では同じ値になります。
val("&b")では常に正の値を返しますが左端16bitをマイナスフラグとする場合次のようにしてマイナス値を得ます。
d=val("&b1111101100101110")
if d>32767 then
d=d-65536
print d
-1234
[例]
a=val("123")
b=val("&hc8")
print a;b
123 200
BIN$ |
[機能] 数値を2進数に変換した値(文字列)を返します。
[書式] BIN$(n)
[説明]
nは小数は切り捨てられ、32bit、2進数のデータの扱いで変換します。
nの範囲は-2147483648?4294967296です。
[-2147483648?-1]と[2147483648?4294967296]は2進数では同じ値になります。
左側が0の連なりの時はそれを省いた桁数の表記を返します。
小さい数で16bitの桁に揃えるには次のようにします。
n=1234
b$=right$(string$(15,"0")+bin$(n),16)
print b$
0000010011010010
[例]
print bin$(12345)
11000000111001
HEX$ |
[機能] 数値を16進数に変換した値(文字列)を返します。
[書式] HEX$(n)
[説明]
nは小数は切り捨てられ、32bit、16進数のデータの扱いで変換します。
nの範囲は-2147483648?4294967296です。
[-2147483648?-1]と[2147483648?4294967296]は16進数では同じ値になります。
左側が0の連なりの時はそれを省いた桁数の表記を返します。
[例]
print hex$(61640)
F0C8
RND |
[機能] 0以上1未満の小数の乱数を発生させます。
[書式] RND(n)
[説明]
nが正の時は乱数を発生します。
nが0の時は前回発生させた乱数の値になります。
nが負の時は乱数発生系列を初期値にして乱数を発生します。
[例]
print
rnd(1)
0.2189351810794058
print
rnd(1)
0.7110011485445428
print
rnd(0)
0.7110011485445428
print
int(rnd(1)*8)
5
print int(rnd(1)*8)
2
IRND |
[機能] 指定値 n未満の整数の乱数を発生させます。
[書式] IRND(n)
[説明]
範囲は
0~n-1 です。
RNDより簡単に整数の乱数を発生させることができます。
[例]
print irnd(8)
3
print irnd(8)
6
RANDOMIZE (コマンド) |
[機能] 乱数発生の系列を指定します。
[書式] RANDOMIZE n
[説明]
数値
nにて乱数発生の系列を指定します。
同じ数字を指定すると毎回同じ系列の乱数を発生します。
RNDとIRNDの両方に設定されます。
[例]
randomize 24
print
rnd(1): print rnd(1)
0.4221061271850657
0.18021435338363986
randomize 24
print rnd(1): print rnd(1)
0.4221061271850657
0.18021435338363986
RAD |
[機能] 度をラジアンに変換した値を返します。
[書式] RAD(n)
[例]
print rad(180)
3.141592653589793
DEG |
[機能] ラジアンを度に変換した値を返します。
[書式] DEG(n)
[例]
print deg(6.28)
359.81749534215703
MAX |
[機能] 2つの数値のうち大きい方の数値を返します。
[書式] MAX(n,m)
[例]
print max(12,24)
24
MIN |
[機能] 2つの数値のうち小さい方の数値を返します。
[書式] MIN(n,m)
[例]
print min(12,24)
12
RANGE |
[機能] 数値を指定の範囲内に収めます。
[書式] RANGE(数値,最小値,最大値)
[例]
print range(6,12,24)
12
EVAL |
[機能] "計算式文字列"を式として計算してその値を返します。
[書式] EVAL("計算式文字列")
[説明]
変数、配列、組み込み関数全てを使用することができます。
返し値は結果が数値の場合は数値を、文字列の場合は文字列を返します。
[例]
b=eval("(a+2)*10")
print b
インタプリタモードでは"計算式文字列"は文字変数で与えることも出来ます。
コンパイラモードでは返し値が数値の時のみ可能です。
(この場合、計算の動作速度はインタプリタモードと同等になります)
c$="(a+2)*10"
b=eval(c$)
print b
BCD$ |
[機能] 誤差が出ない10進数演算を行い結果を返します。長い桁数の計算もできます。
[書式] BCD$("計算タイプ","数値1","数値2")
[説明]
桁数が長い数値を扱うので文字列で数値データを与えます。結果も文字列で返されます。
誤差が出ない演算を行うことができます。
"計算タイプ":計算の種類を次の中から選びます。
"add" 足し算
"sub"
引き算
"mult" 掛け算
"div"
割り算
"scale"
これは演算ではなく出力結果での小数点以下の桁数を指定します。
はみ出す桁は四捨五入されます。
第二パラメーターで指定します。(第三は記述しません)
割り算の結果に適応されます。
[例]
'足し算
print
bcd$("add","1234567890.12345","1212.1212")
1234569102.24465
'割り算
小数点以下12桁
r$=bcd$("scale","12")
r$=bcd$("div","10","3")
print
r$
3.333333333333