object PowerCalculation {
def myPow(base: Double, exponent: Int): Double = {
var result = 1.0
var baseVar = base
var expVar = exponent
while (expVar > 0) {
if ((expVar & 1) == 1) {
result *= baseVar
}
expVar >>= 1
baseVar *= baseVar
}
result
}
def main(args: Array[String]): Unit = {
println(myPow(2, 3)) // 8
println(myPow(3, 3)) // 27
println(myPow(3, 2)) // 9
println(myPow(2, 2)) // 4
println(myPow(5, 2)) // 25
println(myPow(-2, 4)) // 16
}
}
/*
run:
8.0
27.0
9.0
4.0
25.0
16.0
*/