code: func BitsRequired(maxValue int64) int {
  	assert2(maxValue >= 0, fmt.Sprintf("maxValue must be non-negative (got: %v)", maxValue))
  	return UnsignedBitsRequired(maxValue)
  }
docs: /*
  Returns how many bits are required to hold values up to and including maxValue
  NOTE: This method returns at least 1.
  */