![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
zzmeyz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 17.3.2006 Репутация: нет Всего: нет |
Немного не по теме: можно ли в яве производить проверку определенных битов, с последующим их изменением. И вообще как записать байт побитово?
|
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Существует класс BitSet. Вот тут есть пример:
http://javaalmanac.com/egs/java.util/Bits.html плюс можно просто сделать сложение по известной тебе маске. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: нет Всего: 73 |
Lamer George, у меня просто из чистого любопытства вопрос возник...
Зачем пользоваться битсетами, тем более использовать чей-то класс, когда (ИМХО!) проще стандартными bitwise operators. Вроде a&1<<c. Зы. с Явой не работаю =) -------------------- Теперь при чем :P |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Потому что за объектной оринетриованностью я совсем забыл об обычных битовых оперторах ![]() zzmeyz, о них есть тут: http://java.sun.com/docs/books/tutorial/ja...ts/bitwise.html А разница, видимо, в том, что в случае BitSet можно работать с битовой последовательностью любой длины. Ignat, спасибо за поправку. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: нет Всего: 73 |
Честно говоря, вспомнил только один случай в своей практике, когда потребовалась произвольная длина, обычно 5-6 флажков. Но работать с битами очень люблю. Зы. Да это не поправка была, просто интерес... Вдруг к побитовым операциям Ява требует ОО подход ![]() -------------------- Теперь при чем :P |
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Заполнение массива байт(в данном кусочке переменная типа инт сохраняется в 4 байта в BigEndian порядке). Нужный байт сдвигается в самый низ и впихивается в байт. Автоматически всё лишнее обрезается.
Если надо считать нужный бит - накладывай маску(&) где все ноли и лишь нужный бит - единичка. Если нужный бит - ноль, то весь результат будет равен 0. Или сдвигать как в предыдущем примере нужный бит вниз и считывать всегда самый нижний. Записывать - всю маску - в нолики, а нужный бит в 0 или 1(смотря что надо). И выполняешь "или" ( | ). Все биты будут такими как были, а нужный станет таким, как ты в маске его указал. -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |