code: def _setue(self, i):
          
          if i < 0:
              raise CreationError("Cannot use negative initialiser for unsigned "
                                  "exponential-Golomb.")
          if not i:
              self._setbin_unsafe('1')
              return
          tmp = i + 1
          leadingzeros = -1
          while tmp > 0:
              tmp >>= 1
              leadingzeros += 1
          remainingpart = i + 1 - (1 << leadingzeros)
          binstring = '0' * leadingzeros + '1' + Bits(uint=remainingpart,
                                                               length=leadingzeros).bin
          self._setbin_unsafe(binstring)
docs: Initialise bitstring with unsigned exponential-Golomb code for integer i.
  
          Raises CreationError if i < 0.