Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Написать функцию которая в заданом числе меняет местами два бита с задаными номерами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вопрос про Swich http://www.cyberforum.ru/cpp-beginners/thread437944.html
Пример: int i=2; switch (i) { case 1: i += 2; case 2: i *= 3; case 0: i /= 2; case 4: i -= 5; default: ; } Выполнение оператора switch начинается с оператора, помеченного case 2. Таким образом,...
C++ Что за тип переменной ofstream ? Когда создается файл: ofstream A(""); Какой тип переменной A ? И как передавать его в функцию? http://www.cyberforum.ru/cpp-beginners/thread437939.html
C++ Что можно не устанавливать в VS 2008
Хочу сэкономить память, и вот хотел спросить что нужно для разработки С++ приложений, в том числе и с графическим интерфейсом скрин , и что можно не устанавливать
Удалить первый элемент с заданным значением. C++
Удалить первый элемент с заданным значением. #include<iostream.h> #include<stdlib.h> #include<math.h> void main () { int n, i, x; cout<<"Vvedite n ";
C++ Не работает функция ввода массива http://www.cyberforum.ru/cpp-beginners/thread437889.html
У меня стоит задача вводить массива с клавиатуры размера M на N, с проверкой на диапазон. Вот мой код функции: void input (short mas ,int r,int c) { for (int i=0;i<r;i++) { for (int...
C++ Касательно указателей и ссылок. Цитирую фразу из популярной ныне книги Айвора Хортона. "Никогда не возвращайте из функции ссылку на локальную переменную" Так вот. Не понятно почему так категорично все. По моему даже оч. удобно... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
30.01.2012, 16:22
Как-то так...
C
1
2
3
4
5
6
7
8
9
10
11
void swap_bits(int *num, int nbit1, int nbit2)
{
    int bit1 = (*num & (1 << nbit1)) >> nbit1;
    int bit2 = (*num & (1 << nbit2)) >> nbit2;
    
    *num &= ~(1 << nbit1);
    *num &= ~(1 << nbit2);
    
    *num |= bit1 << nbit2;
    *num |= bit2 << nbit1;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru