数字函数
下表描述了一些常用的数字函数 -
序号 |
功能说明 |
1 |
+, -, *, /
各自的算术运算
|
2 |
sin, cos, tan, acos, asin, atan
各自的三角函数。
|
3 |
sinh, cosh, tanh, acosh, asinh, atanh
各自的双曲函数。
|
4 |
exp
指数函数。计算x
|
5 |
expt
求幂函数,取基数和幂。
|
6 |
sqrt
它计算数字的平方根。
|
7 |
log
对数函数。如果给定一个参数,则计算其自然对数,否则以第二个参数为底。
|
8 |
conjugate
它计算一个数的复共轭。如果是实数,它会返回数字本身。
|
9 |
abs
它返回数字的绝对值(或大小)。
|
10 |
gcd
它计算给定数字的最大公约数。
|
11 |
lcm
它计算给定数字的最小公倍数。
|
12 |
isqrt
它给出小于或等于给定自然数的精确平方根的最大整数。
|
13 |
floor, ceiling, truncate, round
所有这些函数都将两个参数作为一个数字并返回商;floor返回不大于比率的最大整数,ceiling选择大于比率的较小整数,truncate选择与ratio同号的整数,其绝对值小于ratio的绝对值,并且round选择最接近比率的整数。
|
14 |
ffloor, fceiling, ftruncate, fround
与上述相同,但将商作为浮点数返回。
|
15 |
mod, rem
返回除法运算中的余数。
|
16 |
float
将实数转换为浮点数。
|
17 |
rational, rationalize
将实数转换为有理数。
|
18 |
numerator, denominator
返回有理数的各个部分。
|
19 |
realpart, imagpart
返回复数的实部和虚部。
|
例子
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。
(write (/ 45 78))
(terpri)
(write (floor 45 78))
(terpri)
(write (/ 3456 75))
(terpri)
(write (floor 3456 75))
(terpri)
(write (ceiling 3456 75))
(terpri)
(write (truncate 3456 75))
(terpri)
(write (round 3456 75))
(terpri)
(write (ffloor 3456 75))
(terpri)
(write (fceiling 3456 75))
(terpri)
(write (ftruncate 3456 75))
(terpri)
(write (fround 3456 75))
(terpri)
(write (mod 3456 75))
(terpri)
(setq c (complex 6 7))
(write c)
(terpri)
(write (complex 5 -9))
(terpri)
(write (realpart c))
(terpri)
(write (imagpart c))
当您执行代码时,它返回以下结果 -
15/26
0
1152/25
46
47
46
46
46.0
47.0
46.0
46.0
6
#C(6 7)
#C(5 -9)
6
7