The ** (power) operator
raises a number to a power, which can be positive, negative, or
0.
The power must be a whole number and is rounded to
DIGITS digits, if necessary, as described in
Section 10.5, “Whole Numbers”.
If negative, the absolute value of the power is
used, and the result is inverted (that is, the number 1 is divided by the
result).
For calculating the power, instead of multiplying the number by itself
for the number of times expressed by the power, a more efficient
exponentiation by squaring
algorithm is used, which requires far fewer multiplications.
The result of these multiplications is inverted for negative power values,
rounded to NUMERIC DIGITS digits, if necessary, and trailing zeros
are then removed as though the result were divided by 1.