携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第45天,点击查看活动详情
求幂运算符(**)
0 ** 0:0的零幂等于0。但是,操作数是IEEE双精度数(例如,0 ** $DOUBLE(0)或$DOUBLE(0) ** 0),则零的零幂为1。
w 0 ** 0,!
w 0 ** $double(0),!
0 ** n:0的任意正数n的幂是0。这包括0 ** $DOUBLE("INF")。将0取负数的幂会导致错误:负数会生成<ILLEGAL VALUE>错误;$double负数会生成<Divide>错误。
w 0 ** 1,!
w 0 ** -1,!
w 0 ** $double("INF"),!
w 0 ** $double(-1),!
Num ** 0:任何非零数(正数或负数)的零幂都是1。这包括$DOUBLE("INF") ** 0。
w 1 ** 0,!
w $double("INF") ** 0
1 ** n:1的任意数字的幂(正、负或零)是1。
w 1 ** -1
w 1 ** 1
w 1 ** 0
-num ** .N:将负数提高到小数的幂会导致<ILLEGAL VALUE>错误。
w -1 ** 0.5
$DOUBLE("INF") ** n:无穷大数字(正数或负数)的0次方是1。无限大(正数或负数)与任何正数(整数、小数或INF)的幂都是INF。无限数(正数或负数)与任何负数(整数、小数或INF)的幂均为0。
w $double("INF") ** 2,!
w $double("INF") ** 0,!
w $double("INF") ** -2,!
$DOUBLE("NaN"):求幂运算符两侧的NaN始终返NaN,而不考虑另一个操作数的值。
w $double("NaN") ** 2,!
w 2 ** $double("NaN"),!
Num ** nnn:大于1且具有较大正指数值的正数或负数(如9 ** 153或-9.2 ** 152)会生成<MAXNUMBER>错误。
w 9 ** 152,!
w 9 ** 153,!
w -9.2 ** 151,!
w -9.2 ** 152,!
Num ** -nnn:大于1且具有较大负指数值的正数或负数(如9 ** -135或-9.2 ** -134)返回0。
w 9 ** -134,!
w 9 ** -135,!
w -9.2 ** -133,!
w -9.2 ** -134,!
.num ** nnn:小于1且具有较大正指数值(例如.22 ** 196或-.2 ** 184)的正数或负数返回0。
w .22 ** 195,!
w .22 ** 196,!
w -.2 ** 183,!
w -.2 ** 184,!
.Num ** -nnn:小于1且具有较大负指数值的正数或负数(如.22 ** -196或-.2 ** -184)会生成<MAXNUMBER>错误。
w .22 ** -196,!
w -.2 ** -184,!
注意:对同一次连续开方,会出现以下错误。
w 16 ** 0.5 ** 0.5,!
w 16 ** 0.25,!
1.999999999999999883
2
- 可以使用
zpower函数来代替**。
w $zpower(2, 2)
w $zpower(2, -2)
w $zpower(2, -1)
整数除法运算符(\)
- 整数除法运算符产生左操作数除以右操作数的整数结果。它不返回余数,也不四舍五入结果。
w "355 \ 113 = ", 355 \ 113,!
w "355 / 113 = ", 355 / 113,!
取余数(#)
- 模运算符在两个数值解释的操作数上产生算术模运算符的值。当两个操作数为正时,模运算是左操作数整数除以右操作数的余数。
- 有两种类型的关系运算符:字符串关系运算符和数值关系运算符。
w "37 # 10 = ",37 # 10,!
w "12.5 # 3.2 = ",12.5 # 3.2,!