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

программирование программы C++

Здраствуйте! Помогите, пожалуйста!

Надо написать три функции, используя только битовые (для первых двух) и только битовые и арифметические операции (для третей), которые:

1) Функция, которая возвращает 1, если значения битов в двух заданых позициях беззнакового длинного целого числа совпадают.

2) Функция, которая меняет местами соседние группы из 16 битов в заданом беззнаковом длинном целом числе.

3) Функция, которая возвращает следующее четное число по заданому беззнаковому длинному целому числу.

Разработать три заданых функции в одной программе. В основной программе (функции main) ввести данные с клавиатуры, вызвать функции и вывести результат на экран. Для каждого десятичного числа из входных данных и результатов вывести его двоичный код. При разработке функций условные операторы, выражения ?: и операторы цыкла или рекурсию НЕ ИСПОЛЬЗОВАТЬ.

Буду очень признателен!
Ответы:
1) ((n1 >> offset) & 1L) ^ ((n2 >> offset) & 1L) ^ 1L
2) ((n >> 16) & 0x0000ffff0000ffffL) | ((n << 16) & 0xffff0000ffff0000L)
3) (n & ~1L) + 2
За достоверность не ручаюсь, проверяй сам. Функцию main тоже сам. Рекомендую попытаться осмыслить код на случай если тебя спросят как он работает.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.