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.