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

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

Войти
Регистрация
Восстановить пароль
 
gEgyLLIka
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 7
#1

Циклический сдвиг битов - C++

03.03.2014, 19:04. Просмотров 711. Ответов 2
Метки нет (Все метки)

Создайте функцию, которая перемещает биты для unsigned int на заданное число битов влево, причем выходящие при сдвиге за левую границу переменной биты должны «вталкиваться» в переменную с правой стороны.
Прошу помощи. С++ ковырял года 4 назад,очень мало, что помню...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2014, 19:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Циклический сдвиг битов (C++):

Циклический сдвиг битов! - C++
Очень срочно нужна помощь. Нужно реализовать функцию, которая осуществляет циклический сдвиг битов на 1 бит вправо в левом полубайте...

Циклический сдвиг битов 2 - C++
Помогите пожалуйста решить вопрос. Необходимо реализовать на С++ операцию циклического сдвига битов влево и вправо. Поиском наткнулся на...

Циклический сдвиг битов в строке - C++
Пишу шифрование IDEA. Там есть ключ длинной 128 бит. Этот ключ нужно сдвинуть на 25 бит влево... Собственно накалякал сдвиг для...

Циклический сдвиг битов в байте - C++
Привет. Мне нужно в байте (unsigned char) произвести циклический сдвиг. Как я понимаю >> и << это не циклический сдвиг. Но как сделать...

Циклический сдвиг битов по столбцу в битовой матрице - C++
Нужна програмка которая создаёт матрицу битов 8х8 и дает возможность делать в ней цикличные сдвики вверх(или вниз) то есть биты с...

Циклический сдвиг битов в байте влево или вправо - C++
Кто-нибудь пробовал реализовать такую задачу на С++. Если да, то какой алгоритм? Например, если 32 << 10, то в результате должны...

2
MarVaL
С++ Beginner
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
03.03.2014, 19:31 #2
Для char:
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
#include <iostream>
#include <bitset>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "russian");
    
    
    cout << "Введите значение в двоичном виде: ";
    const int count_bits = sizeof(char) * 8;
    bitset<count_bits> setOfBits;
    cin >> setOfBits;
    
    cout << "Введите число сдвигаемых бит: ";
    unsigned int sbits;
    cin >> sbits;
 
    for(unsigned i = 0; i < sbits; ++i)
    {
        bool head_bit = setOfBits[count_bits - 1];
        setOfBits <<= 1;
        setOfBits[0] = head_bit;
    }
    
    cout << "Результат: " << setOfBits << endl; 
    
    return 0;
}
0
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,370
Завершенные тесты: 1
03.03.2014, 19:34 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
unsigned shiftleft(unsigned dat,int n)
{
    unsigned mask=0x80000000,t;
    for(int i=0;i<n;i++)
    {
        t=dat&mask;
        dat <<= 1;
        if(t)
           dat |= 1;
    }
    return dat;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2014, 19:34
Привет! Вот еще темы с ответами:

Циклический сдвиг. - C++
Нужно написать вот такую прогу, где нужно сдвинуть число а на n бит влево.

Циклический сдвиг - C++
Ребята, в чем может быть проблема? Надо организовать ф-цию циклического сдвига вправо. ТО бишь x-&gt;y, y-&gt;z, z-&gt;x. Что я делаю не так? ...

Циклический сдвиг - C++
Здравствуйте помогите пожалуйста мне надо все нечетные строки матрицы сдвинуть циклически на К элементов влево. Знаю тут ужас но не...

циклический сдвиг - C++
написать программу на СИ (обычном ,НЕ Си++), используя символьные массивы : Если число отрицательных элементов масива А чётно,то...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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