第九十一章 Caché 函数大全 $ZPOWER 函数
返回一个数的值,该值被提升到选定的幂。
大纲
$ZPOWER(num,exponent)
参数
- num 要加到幂的数。
- exponent 指数
描述
$ZPOWER返回第n次幂的num参数的值。
此函数执行与指数运算子(**)相同的运算
参数
num
要加到幂的数。它可以是整数或浮点、负数、正数或零。它可以是标准的Caché数或IEEE双精度二进制浮点数(一个$DOUBLE数)。它可以被指定为值、变量或表达式。
如果将num指定为带引号的字符串,则该字符串将被解析为数字,如使用Caché ObjectScript的“数据类型和值”一章中的“字符串为数字”所述。空字符串("")和非数字字符串的计算结果为零。
exponent
指数是一个可以是整数或浮点数、负数、正数或零的数字。它可以是标准的Caché数或IEEE双精度二进制浮点数(一个$DOUBLE数)。它可以被指定为数值或字符串值、变量或表达式。
如果将指数指定为带引号的字符串,则该字符串将被解析为数字,如“使用Caché ObjectScript”的“数据类型和值”一章中的“字符串为数字”所述。空字符串("")和非数字字符串的计算结果为零。
下列数字和指数的组合会导致错误:
- 如果num为负,则指数必须为整数。否则会产生
<ILLEGAL VALUE>错误。 - 如果num为0,指数必须为正数或零。否则会产生
<ILLEGAL VALUE>或<DIVIDE>错误。 - 大指数值,如
$ZPOWER(9,153),可能导致溢出,产生<MAXNUMBER >错误,或者可能导致下溢,返回0。出现哪种结果取决于num是否大于1(或-1),以及指数是正还是负。当操作超过Caché支持的最大数量时,会出现<MAXNUMBER>错误。
示例
以下示例将2的前10次幂相加:
/// d ##class(PHA.TEST.Function).ZPOWER()
ClassMethod ZPOWER()
{
SET x=0
WHILE x < 10 {
SET rtn=$ZPOWER(2,x)
WRITE !,"The ",x," power of 2=",rtn
SET x=x+1
}
}
DHC-APP>d ##class(PHA.TEST.Function).ZPOWER()
The 0 power of 2=1
The 1 power of 2=2
The 2 power of 2=4
The 3 power of 2=8
The 4 power of 2=16
The 5 power of 2=32
The 6 power of 2=64
The 7 power of 2=128
The 8 power of 2=256
The 9 power of 2=512