Это можно сделать с помощью комбинации побитового И, чтобы очистить биты, и побитового ИЛИ, чтобы установить биты.
Чтобы очистить младшие четыре бита, вы можете И со значением 1 везде, кромете биты, где это ноль.Одним из таких значений было бы ~0xF
, которое является дополнением к 0xF
, а это четыре значения: 0b1111
.
Для установки битов вы можете использовать битовое ИЛИ с битами для установки,Начиная с 0 OR x = x
, это работает так, как вы и хотели.
Чистый результат будет
(x & ~0xF) | bits
РЕДАКТИРОВАТЬ: Согласно комментарию Иона Нербонна, вы должны затем привести обратно к byte
:
(byte)((x & ~0xF) | bits)