function myPow($base, $exponent) {
$result = 1;
while ($exponent > 0) {
if (($exponent & 1) == 1) {
$result *= $base;
}
$exponent >>= 1;
$base *= $base;
}
return $result;
}
echo myPow(2, 3) . "\n"; // 8
echo myPow(3, 3) . "\n"; // 27
echo myPow(3, 2) . "\n"; // 9
echo myPow(2, 2) . "\n"; // 4
echo myPow(5.0, 2) . "\n"; // 25
echo myPow(-2, 4) . "\n"; // 16
/*
run:
8
27
9
4
25
16
*/