Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2019, 10:27   #1
Крупнов
Новичок
Джуниор
 
Регистрация: 02.06.2018
Сообщений: 2
По умолчанию С/С++ Как проверить наличие байта, используя побитовые операции?

У меня переменная состоит из 8 байтов. Необходимо проверить, встречается ли где-то среди них какой-то кокретный байт, не используя парсинг.
Например:

Код:
long long myVar = 0x04f8f302af05f5ff;     // 04 f8 f3 02 af 05 f5 ff

bool founded = isByteInVar(myVar, 0xaf); // должен вернуть true, т.к. 0xaf есть в myVar
Код:
bool isByteInVar(long long fromVar, char checkByte)
{
       ?????
}

Я пробовал с маской

Код:
long long a    = 0x04f8f302af05f5ff;
long long mask = 0xafafafafafafafaf;
Но никак не получалось добиться того, чтобы если 0xaf присутствовал в моей переменной, то значение было > 0, если нет, то = 0

Последний раз редактировалось Крупнов; 10.10.2019 в 10:36.
Крупнов вне форума Ответить с цитированием
Старый 10.10.2019, 10:35   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

делаем xor между a и mask а потом ищем нулевой байт:
http://graphics.stanford.edu/~seande...tml#ZeroInWord
waleri вне форума Ответить с цитированием
Старый 10.10.2019, 10:40   #3
Крупнов
Новичок
Джуниор
 
Регистрация: 02.06.2018
Сообщений: 2
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
делаем xor между a и mask а потом ищем нулевой байт:
http://graphics.stanford.edu/~seande...tml#ZeroInWord
Спасибо большое!
Крупнов вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Си, побитовые операции. goto ∞ Общие вопросы C/C++ 6 04.11.2017 21:14
Побитовые операции alexusankov C# (си шарп) 6 01.12.2013 22:38
Побитовые операции С++ Defa4ka Помощь студентам 4 22.06.2010 14:55
Побитовые операции WinterLord Общие вопросы C/C++ 1 12.10.2008 22:39