Skip to content

Operator ^ (Exponentiate)


Raises a numeric expression to some power

Syntax

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

`

Usage

` result = lhs ^ rhs

`

Parameters

lhs

The left-hand side base expression.

rhs

The right-hand side exponent expression.

Return Value

Returns the exponentiation of a base expression raised to some exponent.

Description

Operator ^ (Exponentiate) returns the result of a base expression (lhs) raised to some exponent expression (rhs). ^ works with double float numbers only, operands of other types will be converted into double before performing the exponentiation. Exponent of a fractional value (1/n) is the same as taking nth root from the base, for example, 2 ^ (1/3) is the cube root of 2.

Neither of the operands are modified in any way.

This operator can be overloaded for user-defined types.

This operation is for double precision data types only (53 significant bits), and suffers from some inaccuracies in the least significant bits of the number, especially when converting from other data types (e.g. 64-bit data types). This inaccuracy is particularly noticeable when the result is expected to be an exact number, but then finding the result is out by a very small amount. For this reason, never assume that an exponentiation expression will be exactly equal to the value expected, but rather close within some small amount of error. Be wary of using rounding methods such as Int and Fix on the result: if you expect the result to be an integer value, then there's a chance that it might be slightly lower, and will round down to a value that is one less than expected.

This operator exists in C/C++ with a different meaning; in C/C++ it performs a Bitwise Xor.

Examples

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

Output:

Please enter a positive number: 3.4

 3.4 squared is 11.56
The fifth root of 3.4 is 1.27730844458754

Dialect Differences

  • In the -lang qb dialect, this operator cannot be overloaded.

Differences from QB

  • None

See also

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft