Skip to content

Operator ^(乘方)


将数值表达式提升到某次幂

语法

declare operator ^ ( byref lhs as double, byref rhs as double ) as double

用法

result = lhs ^ rhs

参数

lhs

左侧底数表达式。

rhs

右侧指数表达式。

返回值

返回底数表达式提升到某次指数的幂运算结果。

描述

Operator ^(乘方)返回底数表达式(lhs)提升到某次指数表达式(rhs)的结果。^ 仅适用于双精度浮点数,其他类型的操作数在执行乘方运算之前将被转换为 double。分数值的指数(1/n)等同于对底数取第 n 次方根,例如,2 ^ (1/3) 是 2 的立方根。

两个操作数均不会以任何方式被修改。

此运算符可以为用户定义类型重载。

此运算只适用于 double 精度数据类型(53 个有效位),在数字的最低有效位上存在一些不精确性,尤其是在从其他数据类型(例如 64 位数据类型)转换时。当预期结果为精确数字,但发现结果偏差了一个很小的量时,这种不准确性尤为明显。出于这个原因,永远不要假设乘方表达式将恰好等于期望值,而应该接近在某个小误差范围内。使用 IntFix 等舍入方法时要谨慎:如果预期结果是整数值,则有可能结果略低,会向下舍入到比预期小一的值。

此运算符在 C/C++ 中存在但含义不同;在 C/C++ 中,它执行按位 Xor

示例

start GeSHi

vb
Dim As Double n
Input "Please enter a positive number: ", n
Print
Print n;" squared is "; n ^ 2
Print "The fifth root of "; n;" is "; n ^ 0.2
Sleep

end GeSHi

输出:

Please enter a positive number: 3.4

 3.4 squared is 11.56
The fifth root of 3.4 is 1.27730844458754

方言差异

  • -lang qb 方言中,此运算符不能被重载。

与 QB 的区别

参见

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系