code: def myPow(self, x, n):
      # https://leetcode.com/discuss/93413/iterative-log-n-solution-with-clear-explanation
      # 9 = 2^3 + 2^0 = 1001
      # x^9 = x^(2^3)*x(2^0)
      # multiple x^i when i place is 1
      if n == 0:
          return 1
      res, curr = 1, abs(n)
      while curr > 0:
          if curr & 1 == 1:
              res *= x
          curr >>= 1
          x *= x
      if n < 0:
          return 1 / res
      return res
  
label_desc: Use image node_id 1 for calling the Solution obj's underlying member method code with example usage: obj.myPow(x, n) and returns: res, int, unknown