LEVEL Ⅱ 提供了多种内部(“机内“)函数,以执行数学运算及特殊运算。特殊运算函数将在下节讲
述。
本节讲述的所有常用数学函数都获得单精度值的解,精确到6位十进制数。ABS,FIX和INT取得的值,其精
度取决于自变量的精度。转换函数(CINT,CDBL等)取值的精度取决于个别的函数。对所有的函数,自
变量必须放在括号里。自变量既可以是数字变量,表达式也可以是常数。
三角函数的自变量或反三角函数的解都以弧度表示,而不是角度。本手册给出了弧度一角度的变换 。
本章介绍的函数有:
ABS ATN EXP COS FIX INT LOG RND SGN SIN SQR TAN
CINT CSNG CDBL
1、ABS(X)
取自变量的绝对值。X大于或等于0时,ABS(X)=X,X小于0时,ABS(X)=-X。
100 IF ABS(X)< 1E-6 PRINT "TOO SMALL"
2、ATN(X)
取自变量的反正切(以弧度表示)ATN(X)求得的角,其正切等于X。要获得以(角)度表示的反正切,
必须将ATN(X)乘以57.29578。为了将弧度转换为角度,请将弧度乘以 180/Pi#=180/3.14=57.29578
100 Y=ATN(B/C)
3、CDBL(X)
取自变量的双精度表示。得到的值有17位,但只有包含自变量的那几位才有意义。
当你想使一个运算,虽然其运算量是单精度的,甚至是整型的,以双精度进行时,CDBL函数就很有用。
例如,CDBL(I%)/J%将得到一个具有17位精度的小数。
100 FOR I%=1 TO 25 : PRINT 1/CDBL(I%):NEXT
4、INT(X)
取不大于自变量的最大整数。例如,CINT(1.5)得到1;CINT(-1.5)得-2。对于CINT函数,自变量必
须在-2147483648到+2147483647范围内。
假如你只对整数结果感兴趣,INT可以用于加速一个涉及单精度或双精度运算量的运算而又不失去运算
量的精度。
100 K%=CINT(Y#)+CINT(Y#)
5、COS(X)
取自变量的余弦(自变量必须是弧度)。若要得到X为(角)度时的余弦,可用COS(X*.0174533)。
100 Y=COS(X+3.3)
6、CSNG(X)
取自变量的单精度表示。当自变量 是双精度值时,得到6位有效数字,其最小有效位由四舍五入得到。
因此,CSNG(.66666666666666667)得到.666667;CSNG(.3333333333333333)得.333333。
100 PRINT CSNG(A#+B#)
7、EXP(X)
取X的"自然指数",即 e^x。这是LOG函数的逆函数,因此,X=EXP(LOG(X))。
8、CFIX (X)
取自变量的尾数被截断以后的整数,即把其小数点右边的所有位都简单地截掉,所以其结果是一个整数值。
对于非负数X,FIX(X)=INT(X),而对于负的X值,FIX(X)=INT(X)+1。例如,FIX(2.2)得2,
FIX(-2.2)得到-2。
100 Y=ABS(A-FIX(A))
得到的Y值是A的小数部分。
INT 和 CFIX 的不同之处在于,如果 自变量 为负数,则 Int 返回小于或等于 自变量r 的第一个负整数,
而 Fix 则会返回大于或等于 自变量 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4
转换成 -8。
9、INT(X)
取自变量的整数表示,得到不大于自变量的最大整数。
例如,INT(2.5)得2;INT(-2.5)得-3;INT(1000101.23)得1000101。
100 Z=INT (A*100+.5)/100
(对于非负的A),得到的Z值是四舍五入成两位小数的A值。
10、LOG(X)
取自变量的自然对数,即log e(X)。它是EXP函数的逆函数,因此,X=LOG(EXP(X))。
要求一个以b为底的对数时,可利用公式:
log b(x)=log e(x)/log e(b)
例如,LOG(32767)/LOG(2)得到32767以2为底的对数。
100 PRINT LOG (3.3*X)
12、RND(X)
产生另一个随机数(内部产生的,不受用户干涉的)。
RND可用于产生0到X-1之间的随机数,或产生大于0的随机整数,这取决于自变量的数值。
RND(整数)得到一个1和此整数之间的整数。
例如,RND(55)得到一个大于0小于55的伪随机整数。RND(55.5)得到的数也在此范围内,因为RND
使用自变量的整数部分。
100 X=RND(3): ON X GOTO 200 ,300
13、SGN(X)
“符号“函数:X为负数时得-1,X为0时得0,X为正数时得+1。
100 ON SGN (x)+2 GOTO 200,300,400
14、 SIN(X)
取自变量的正弦(自变量必须以弧度表示)。当X以(角)度表示时,要得到X的正弦,
可用SIN(X*.014533)。
100 PRINT SIN(A*B-B)
15、SQR(X)
取自变量的平方根。SQR(X)和X↑(1/2)是相同的,但运算得更快些。
100 Y=SQR(X↑2-H↑2)
16、TAN(X)
取自变量的正切(自变量以弧度表示)。当X以度表示时,要得到X的正切,可用TAN(*.0174533)。
100 Z=TAN (2*A)
|