Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Битовые операции |
Автор: zzmeyz 20.3.2006, 12:25 |
Немного не по теме: можно ли в яве производить проверку определенных битов, с последующим их изменением. И вообще как записать байт побитово? |
Автор: batigoal 20.3.2006, 12:46 |
Существует класс BitSet. Вот тут есть пример: http://javaalmanac.com/egs/java.util/Bits.html плюс можно просто сделать сложение по известной тебе маске. |
Автор: Ignat 20.3.2006, 13:04 |
Lamer George, у меня просто из чистого любопытства вопрос возник... Зачем пользоваться битсетами, тем более использовать чей-то класс, когда (ИМХО!) проще стандартными bitwise operators. Вроде a&1<<c. Зы. с Явой не работаю =) |
Автор: Ignat 20.3.2006, 13:46 | ||
Честно говоря, вспомнил только один случай в своей практике, когда потребовалась произвольная длина, обычно 5-6 флажков. Но работать с битами очень люблю. Зы. Да это не поправка была, просто интерес... Вдруг к побитовым операциям Ява требует ОО подход ![]() |
Автор: chief39 20.3.2006, 16:04 | ||
Заполнение массива байт(в данном кусочке переменная типа инт сохраняется в 4 байта в BigEndian порядке). Нужный байт сдвигается в самый низ и впихивается в байт. Автоматически всё лишнее обрезается.
Если надо считать нужный бит - накладывай маску(&) где все ноли и лишь нужный бит - единичка. Если нужный бит - ноль, то весь результат будет равен 0. Или сдвигать как в предыдущем примере нужный бит вниз и считывать всегда самый нижний. Записывать - всю маску - в нолики, а нужный бит в 0 или 1(смотря что надо). И выполняешь "или" ( | ). Все биты будут такими как были, а нужный станет таким, как ты в маске его указал. |