Как осуществить побитовое чтение и запись в java?

Пользователь

от brook , в категории: Java , год назад

Как осуществить побитовое чтение и запись в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от ally , 10 месяцев назад

@brook 

В Java для побитового чтения и записи используются операторы "битовых" операций. Для чтения бита на определенной позиции в числе можно использовать оператор сдвига ">>", после которого указывается номер бита в числе, начиная с нулевой позиции справа налево.


Для записи бита на определенной позиции в числе можно использовать операторы побитового И " & " и побитового ИЛИ " | ", чтобы установить или сбросить соответствующий бит.


Пример кода для чтения и записи битов:

1
2
3
4
5
6
7
8
// чтение бита на позиции pos
int number = 7; // бинарное представление 111
int pos = 1; // позиция для чтения бита
int bit = (number >> pos) & 1; // чтение бита на позиции pos (равен 1)

// запись бита на позицию pos
int newBitValue = 0; // новое значение бита
number = (number & ~(1 << pos)) | (newBitValue << pos); // запись бита на позицию pos (бинарное представление 101)


В этом примере мы сначала считываем бит на позиции 1, используя оператор сдвига и побитового И, а затем записываем новое значение бита на эту же позицию, используя операторы побитового И и побитового ИЛИ.