function pow(base, exponent) {
let result = 1;
while (exponent) {
if (exponent & 1) {
result *= base;
}
exponent >>= 1;
base *= base;
}
return result;
}
console.log(pow(2, 3)); // 8
console.log(pow(3, 3)); // 27
console.log(pow(3, 2)); // 9
console.log(pow(2, 2)); // 4
console.log(pow(5, 2)); // 25
console.log(pow(-2, 4)); // 16
/*
run:
8
27
9
4
25
*/