LISP数字(Numbers)

/ / LISP数字(Numbers)

Common Lisp  number 数据类型包括LISP支持的各种数字。

LISP支持的数字类型是-

  • Integer
  • Ratios
  • Float
  • Complex

下图显示了LISP中可用的数字层次结构和各种数字数据类型-

Numeric Types

数字类型

下表描述了LISP中可用的各种数字类型数据-

Sr.No.Data type & 描述
1

fixnum

此数据类型表示不会太大的整数,并且通常在-215到215-1范围内(与机器有关)

2

bignum

这些是非常大的数字,其大小受为LISP分配的内存量限制,它们不是fixnum数字。

3

ratio

代表分子/分母形式的两个数字的比率。

4

float

它代表非整数。有四种浮点数据类型,精度越来越高。

5

complex

它代表复数,实部和虚部都可以是有理数或浮点数。

创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。

(write (/1 2))
(terpri)
(write ( + (/1 2) (/3 4)))
(terpri)
(write ( + #c( 1 2) #c( 3-4)))

当您执行代码时,它返回以下输出-

1/2
5/4
#C(4-2)

数字函数

下表描述了一些常用的数值函数-

Sr.No.Function & 描述
1

+,-,*,/

各自的算术运算

2

sin,cos,tan,acos,asin,atan

各自的三角函数。

3

sinh,cosh,tanh,acosh,asinh,atanh

各自的双曲函数。

4

exp

求幂函数。计算e x

5

expt

幂运算函数,同时具有基数和功率。

6

sqrt

它计算数字的平方根。

7

log

对数函数。给定一个参数,然后计算其自然对数,否则将第二个参数用作基数。

8

conjugate

如果是实数,它将返回数字本身。

9

abs

它返回数字的绝对值(或大小)。

10

gcd

它计算给定数字的最大公约数。

11

lcm

它计算给定数字的最小公倍数。

12

isqrt

它给出的最大整数小于或等于给定自然数的确切平方根。

13

floor,ceiling,truncate,round

所有这些函数都将两个参数作为一个数字并返回商。 floor 返回不大于ratio的最大整数, ceiling 选择小于ratio的较小整数, truncate 选择该整数。与比率相同的符号,其最大绝对值小于比率的绝对值,并且 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

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

强化学习快速入门与实战 -〔H 博士 & 袁从德〕

学透Spring:从入门到项目实战 -〔丁雪丰〕

结构思考力 · 透过结构看问题解决 -〔李忠秋〕

计算机基础实战课 -〔彭东〕

分布式数据库30讲 -〔王磊〕

设计模式之美 -〔王争〕

从0开始学大数据 -〔李智慧〕

趣谈网络协议 -〔刘超〕

左耳听风 -〔陈皓〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者