RSS RSS
Добавлено: 2007-01-31 18:54:46   Изменение произвольного бита
Алексей

Зарегистрирован(а): 20.02.2019

Сообщений: 1 (просмотреть)
Здравствуйте! Есть вопрос, как можно быстро изменить нужный бит (на заданное значение, можно на противоположное значение) в большом числе, чтобы другие биты не изменились? Известен номер бита, который надо изменить.

Ответить | Цитировать
Добавлено: 2007-02-02 13:47:29
Raul

Зарегистрирован(а): 17.03.2010

Сообщений: 101 (просмотреть)
Через операцию логичеcrого или:
a |= 1 >> (n-1);
a - изменяемое число
n - номер бита в виде числа сBigNumber (long не подойдет)
Это cамый простой способ. Если надо быстрее то надо вычислить номер слова и номер бита в нем, а затем модифицировать слово напрямую с помощью метода code().

Ответить | Цитировать