Битовые операции

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Tecknogleb
Сообщения: 1
Зарегистрирован: 13 июн 2013, 01:22

Помогите пожалуйста с заданием,я пытаюсь разобраться в работе с битами,но не выходит(((


Функция получает целое без знаковое число Х и массив N целых положительных не равных между собой чисел . Функция анализирует каждое число массива, и если оно меньше 15 и четное, то в бите числа Х , номер которого равен числу , функция устанавливает 1, в противном случае ( меньше 15, но четное) элемент массива удваивается и соответствующий ему бит обнуляется. Если не удалось изменить хотя бы один бит в Х или не удалось изменить ни один элемент массива , то функция возвращает 0, в противном случае функция возвращает преобразованное число Х. подскажите как установить 1 в бит и как обнулить его??? Я читал разные статьи про работу с битами,но не помогает((( Простите за потраченное время.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

подскажите как установить 1 в бит и как обнулить его??? Я читал разные статьи про работу с битами,но не помогает(((
Я далек от ситнаксиса С++, напишу универсальным выражением
Установить в числе Х бит с номером К
x = x OR (1 SHL k)
Обнулить в числе Х бит с номером K
x = x AND NOT (1 SHL k)
It's a long way to the top if you wanna rock'n'roll
Ответить