Однажды я столкнулся с методом определения, является ли число х степенью 2, выполнив следующее:
X & (x-1), за которым следует тест 0, если результат равен 0, то это означает, что в числе только один бит 1 и что это степень 2. Но проблема в том, что это не может быть используется для подписанного int? Мне просто интересно, если единственным исключением для подписанного int является то, что это может быть только один бит со знаком, в таком случае я мог бы просто добавить еще один тест и покончить с ним. Или у него есть другие исключения, которые этот метод может не применять к подписанному int. так как я действительно хочу использовать это в Java, я надеюсь, что смогу принять это в некотором улучшенном виде. Большое спасибо.