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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
iKapex
3 / 3 / 0
Регистрация: 07.10.2012
Сообщений: 228
#1

Биты (поменять нулевой и первый бит, второй и третий и т.д.) - C++

24.02.2013, 19:14. Просмотров 847. Ответов 3
Метки нет (Все метки)

Нужно поменять нулевой и первый бит, второй и третий и т.д. Тип числа - unsigned int. Хотя б алгоритм.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2013, 19:14     Биты (поменять нулевой и первый бит, второй и третий и т.д.)
Посмотрите здесь:

Поменять местами последний нулевой элемент и первый минимальный - C++
Всем доброго времени суток. Помогите пожалуйста с решением задачки. Ну ооочень надо. Заранее спасибо

В матрице поменять местами минимальный и первый нулевой элементы - C++
В заданной целочисленной прямоугольной матрице поменять местами следующие два элемента: Минимальный и первый нулевой. При выполнении...

Поменять первый элемент со вторым,третий с четвертым и т.д - C++
Дан массив из четного числа элементов.Поменять первый элемент со вторым,третий с четвертым и т.д. В чём ошибка? #include<stdio.h> ...

Как первый и второй массивы с цифрами объединить и записать в третий массив и отсортировать? - C++
В первом и во втором массиве находятся несколько цифр. Пожалуйста помогите, с чего мне начать и если сможете, выложите похожий готовый код....

Поменять местами во всех строках последний нулевой элемент и первый минимальный - C++
Ввести в память машины двумерный целочисленный массив, размером M*N. 3<=M<=10; 3<=N<=10. Вывести на экран исходный массив и данные,...

поменять местами первый столбец со вторым ,третий с четвёртым, и т.д. - C++
помогите решить пожалуйста!!!! Дан двумерный массив из чётного числа столбцов .поменять местами его первый столбец со вторым ,третий с...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
24.02.2013, 19:38     Биты (поменять нулевой и первый бит, второй и третий и т.д.) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
int main()
{
    unsigned int val = 85; // 0b1010101
 
    unsigned int t1 = val & 1; // первый бит в составе val
    unsigned int t2 = val & 2; // второй бит в составе val
    val &= ~1; // разрядим первый бит
    val &= ~2; // разрядим второй бит
 
    t1 = t1 << 1; // сместим первый бит на еденицу влево
    t2 = t2 >> 1; // сместим второй бит на еденицу вправо
 
    val = val | t1 | t2; // соеденим результат.
    std::cout << val; // 0b1010110
 
    //****
    // Аналогично и для третьего и четвёртого
 
    t1 = val & 4; // третий бит в составе val
    t2 = val & 8; // четвёртый бит в составе val
 
    val &= ~4;
    val &= ~8;
 
    t1 = t1 << 1;
    t2 = t2 >> 2;
 
    val = val | t1 | t2;
    std::cout << val; // 0b1011010
}
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
24.02.2013, 20:08     Биты (поменять нулевой и первый бит, второй и третий и т.д.) #3
Еще как вариант...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <bitset>
 
using namespace std;
 
int main()
{
    unsigned int val = 6577; //max = 4294967295
    bitset<32> bits(val);
    cout<<"Before: "<<bits.to_string()<<endl;
    cout<<val<<endl;
    bits.flip();
    cout<<"After:  "<<bits.to_string()<<endl;
    val = bits.to_ulong();
    cout<<val;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2013, 21:16     Биты (поменять нулевой и первый бит, второй и третий и т.д.)
Еще ссылки по теме:

Программа должна заполнять три массива, первый по формуле, второй случайными числами, третий на основе первых - C++
Собственно программа должна заполнять три массива, первый по формуле, второй случайными числами, третий на основе первых двух, первый...

Дан массив. Поменять местами его первый элемент со вторым, третий - с четвертым и т.д. - C++
Скоро экзамен , кто чем может ) Помоги ближнему , ибо смех продлевает жизнь...) 16. Дан массив размера N (N — четное число)....

В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой элемент - C++
Как сделать такую программу: В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой...

Поменять местами первый и последний столбцы, второй и предпоследний и т.д - C++
Не могу понять почему не работает.((((( В двумерном массиве размерности N x M поменять местами первый и последний столбцы, второй и...

Поменять элементы массива следующим образом: первый с последним, второй с предпоследним и т.д. - C++
Дан одномерный массив, надо поменять элементы массива следующим образом: первый с последним, второй с предпоследним и т.д. Помогите с...

поменять местами первый и последний элемент, второй и предпоследний и так далее - C++
Задан масив целых чисел.Распечатать преобразованный массив: поменять местами первый и последний элемент, второй и предпоследний и так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
24.02.2013, 21:16     Биты (поменять нулевой и первый бит, второй и третий и т.д.) #4
В 28 строке опечатка, нужно смещать на 1 бит..
Цитата Сообщение от xtorne21st Посмотреть сообщение
t2 = t2 >> 1;
Yandex
Объявления
24.02.2013, 21:16     Биты (поменять нулевой и первый бит, второй и третий и т.д.)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru