Exponentiation
Binary **
is the exponentiation operator. Note that it binds even more tightly than unary minus, so -2**4
is -(2**4)
, not (-2)**4
. The operator is implemented using C's pow(3) function, which works with floating-point numbers internally. It calculates using logarithms, which means that it works with fractional powers, but you sometimes get results that aren't as exact as a straight multiplication would produce.