Я пытался найти этот вопрос, но все остальные вопросы не относятся к моей проблеме.
Моя проблема: у меня есть что-то вроде 0xFreeFoodU, где я должен получить конкретные позиции и либо перевернуть их, либо сделать их1 или 0.
Так, например, биты в позициях 2, 6, 10, 14, 18, 22, 26 и 30 должны быть неизменными, тогда как биты в позициях 3, 7, 11, 15, 19, 23,27 и 31 следует изменить на 1. Я не хочу публиковать всю мою подсказку, потому что я не хочу обманывать и заставлять кого-то другого делать мои слова для меня.Но дать мне ответ хотя бы на один из них поможет миллионам.
Это битовая манипуляция.Но я понятия не имею, как манипулировать конкретными битами в определенных позициях.: (
EDIT Я не могу загрузить полную программу; она слишком длинная. Но у меня есть основная функция, где я вызываю нужную мне функцию. В идеале функция должна иметь возврат ина; пока у меня есть
return val_num ^ 0x22222222U; Но я должен добавить к нему. Мне нужна только помощь, как установить определенные биты в 1 и 0. Требуется ли маскировка?