code: def _int2digits(a, n):
      """Decompose non-negative int a into base 2**n
  
      Input:
        a is a non-negative integer
  
      Output:
        List of the digits of a in base 2**n in little-endian order,
        meaning the most significant digit is last. The most
        significant digit is guaranteed to be non-zero.
        If a is 0 then the output is an empty list.
  
      """
      a_digits = [0] * ((a.bit_length() + n - 1) // n)
  
      def inner(x, L, R):
          if L + 1 == R:
              a_digits[L] = x
              return
          mid = (L + R) >> 1
          shift = (mid - L) * n
          upper = x >> shift
          lower = x ^ (upper << shift)
          inner(lower, L, mid)
          inner(upper, mid, R)
  
      if a:
          inner(a, 0, len(a_digits))
      return a_digits
  
file_path: cpython/Lib/_pylong.py
imports: import re
  import decimal
label_desc: Use image node_id 8 for calling a global function with example usage: _int2digits(a, n) and returns: a_digits