Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Байты и биты

343
08 февраля 2006 года
lena_ki
282 / / 14.04.2005
От внешнего устройства приходит число типа Int32. Существует битовая 4-х байтная маска. Каждый бит этой 4-х байтовой маски что-то обозначает. Например, 7-й бит первого байта указывает на то, что произошла остановка определенного датчика.
Мой вопрос в том, как мне разложить мое пришедшее число на эти самый 4 байта и посмотреть какие биты у него установлены и затем согласно существующей битовой маски сравнить и вывести нужные сообщения?
2
08 февраля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by lena_ki
От внешнего устройства приходит число типа Int32. Существует битовая 4-х байтная маска. Каждый бит этой 4-х байтовой маски что-то обозначает. Например, 7-й бит первого байта указывает на то, что произошла остановка определенного датчика.
Мой вопрос в том, как мне разложить мое пришедшее число на эти самый 4 байта и посмотреть какие биты у него установлены и затем согласно существующей битовой маски сравнить и вывести нужные сообщения?


а зачем раскладывать побайтно? берете полученное число, логически умножаете (оператор & ) на число, содержащее 1 в проверяемом разряде и нули в остальных, если получаете число отличное от нуля, значит в проверяемом разряде 1, иначе - 0. ну а как интерпретировать результат - ваше дело. у вас маска ;)

343
08 февраля 2006 года
lena_ki
282 / / 14.04.2005
Спасибо.
Буду разбираться с этими битами и байтами! :)
Сейчас остановилась на таком варианте:

int BitContainer = 1234; //тестовое число
String BitSetStr ="";

for (int Bit=0; Bit<32; Bit++)
{
if (BitContainer & 1)
BitSetStr = "1" + BitSetStr;
else
BitSetStr = "0" + BitSetStr;

BitContainer = BitContainer >> 1;
}
// далее смотрим BitSetStr;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог