import Foundation
func myPow(base: Double, exponent: Int) -> Double {
var result: Double = 1.0
var baseVar = base
var expVar = exponent
while expVar > 0 {
if (expVar & 1) == 1 {
result *= baseVar
}
expVar >>= 1
baseVar *= baseVar
}
return result
}
print(myPow(base:2.0, exponent:3)) // 8
print(myPow(base:3.0, exponent:3)) // 27
print(myPow(base:3.0, exponent:2)) // 9
print(myPow(base:2.0, exponent:2)) // 4
print(myPow(base:5.0, exponent:2)) // 25
print(myPow(base:-2.0, exponent:4)) // 16
/*
run:
8.0
27.0
9.0
4.0
25.0
16.0
*/