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

Поменять местами биты двух переменных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как проверить образуют ли дроби прогрессию? http://www.cyberforum.ru/cpp-beginners/thread1049445.html
Помогите или вдохновите, пожалуйста, дописать программу! Бинарный файл создаю и заполняю числами. Но не знаю, как проверить образуют ли дроби прогрессию. Помогите с этой частью, пожалуйста.. Дан бинарный файл, содержащий числа а1, b1, a2, b2... . Каждая пара чисел a и b определяет числитель и знаменатель натуральной дроби a/b. Проверить,
C++ Вычислить пример на С++ Прошу помощи с кодом программы на С++ для вычисления данного примера. Буду очень вам благодарен. Вычислить при x=1; y=0.37; a=12.87; b=7.7 s= tgx-ctg(x-y) / x^2+a*x+b http://www.cyberforum.ru/cpp-beginners/thread1049429.html
Объемная диаграмма с выборкой C++ Builder
Помогите братишки составить объемную диаграмму с выборкой кол-ва столбцов и с процентным соотношением. Диаграмму в форме самим рисовать.Как я понял нижние 3 точки(если смотреть в объеме) должны быть не измененными .Должны меняться ребра диаграммы ,когда я задаю % (из 100%)С этим вроде все как ясно ,а вот нужно создать алгоритм столбцов...а может и нет ,мой CPU(который в голове)начинает...
Отображение компонентов на форме C++
Всем доброго времени суток! Прошу помощи у бывалых:-) Решил начать изучать С++. Скачал Visual Studio 2013 Pro, создал проект для Win32, кинул на него Form (UI), на форму пару компонентов и уперся в "стенку". При запуске проекта компоненты не отображаются. Что делать? Как быть? Заранее спасибо) З.Ы. Visible у компонентов true.
C++ Синтаксис http://www.cyberforum.ru/cpp-beginners/thread1049396.html
Я не в ладах с синтаксисом С++ ( как записать с Button(ом) и выводом и тд ) Помогите 1)#include <iostream> #include <clocale> #include <cmath> using namespace std; long fact(int n) { return n <= 1 ? 1 : n * fact(n - 1); } void main()
C++ Создание массива Здравствуйте, мне нужно создать одномерный массив! Для дальнейшей работы с ним, мне нужно создать его через функции... Вот часть кода, которая меня интересует: //создание int **createV(int rows){ int **vector = new int*; // for(int i=0;i<rows;i++) // vector = new int; return vector; } подробнее

Показать сообщение отдельно
Naxx
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 4
26.12.2013, 05:38  [ТС]     Поменять местами биты двух переменных
Пока дошел до этого, вроде правильно. Есть соображения как улучшить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    long a(0), b(0);
    cin >> a >> b;
    //перестановка 4го бита
    if ((a&8) != (b&8))
        if (a & 8)
        {
            a ^= 8;
            b |= 8;
        }
        else
        {
            a |= 8;
            b ^= 8;
        }
        cout << "a = " << a << "\nb = " << b;
Добавлено через 28 минут
Полное решение задачи получилось таким:
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (int i(8); i <= 32768; i *= 16)
    if ((a&i) != (b&i))
        if (a & i)
        {
            a ^= i;
            b |= i;
        }
        else
        {
            a |= i;
            b ^= i;
        }
Вот только мне не нравятся большие числа в цикле, возможно ли привести в более удобный вид?
 
Текущее время: 22:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru