clisp语言中的数字 |
发布: 2008-07-23 07:52 |
1. 数字数据类型 NUMRER , REAL , RATIONAL, INTEGER, FLOAT 2. 数字的概念 数字计算函数: ext:! 计算数字的阶乘 CL> (! 2) 2 CL> (! 3) 6 CL> (! 30) 265252859812191058636308480000000 EXT:EXQUO 计算两个数字的整数商,如果不能整除,则会报错。(对整除的时候,这个函数比 / 效率高)。 CL> (exquo 6 2) 3 CL> (exquo 6 5) *** - quotient 6 / 5 is not an integer XGCD ???没看太明白这个计算什么的。 EXT:MOD-EXPT (mod-expt k l m) 等于 (MOD (EXPT k l) m), 但对大数情况,这个函数更有效率。 浮点数相关函数: decode-float ??? float-radix 小数位数,总是返回2 FLOAT-DIGITS number digits 将数字number强制转换为至少有digits个尾数的小数。 下面的表达式总是为 T (>= (FLOAT-DIGITS (FLOAT-DIGITS number digits)) digits) 函数expt 计算乘方 CL> (expt 2 3) 8 CL> (expt 3 2) 9 函数log 计算log值 常量PI, 该值为LONG-FLOAT CL> (print PI) 3.1415926535897932385L0 3.1415926535897932385L0 复数: 有一个实部,一个虚部。 得数表示为#C(实部 虚部) CL> (sqrt -9.0) #C(0 3.0) 使用函数complex可以构造一个得数: CL> (complex 2 3) #C(2 3) 随机数: 设置随机数种子,(SETQ *RANDOM-STATE* (MAKE-RANDOM-STATE T)) 默认随机数种子固定, 如果不调用设置种子,则产生的随机数也固定。 生成随机数函数:random n , 生成0-n之间的随机数。 CL> (random 199) 67 CL> (random 199) 89 字节类型是内置类型BYTE,而不是INTEGER。 几个数字表示的说明: 3.1415926535897932385L0 L是什么意思? 2.23343s0 这里面的s是什么意思? s0表示 SHORT-FLOAT L0表示 LONG-FLOAT d0表示 DOUBLE-FLOAT 还有一个SINGLE-FLOAT,不知如何表示。 |
原文: http://qtchina.tk/?q=node/197 |
Powered by zexport
|