0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 2
1

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

18.10.2019, 09:35. Показов 8322. Ответов 8
Метки нет (Все метки)

Помогите пожалуйста решить задачки на с++

1.Написать программу, которая позволит ввести целое число с клавиатуры и преобразовать его так, чтобы оно было числом, приведенном к числу кратному 32.
2.Написать программу, которая позволит ввести два целых числа n и k и, используя битовые операции сделать в числе n циклическую перестановку нечетных бит на k бит влево, вывести результат. Циклическая перестановка нечетных бит числа 0111 0111 0011 1101 на один бит влево даст число 1101 1101 1011 0101.
3.Дано целое число A и целое неотрицательное число k. Обнулите у числа A его последние k бит и выведите результат.
думаю что так

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
int main() {
int A;
unsigned int k;
cin>>A>>k;
A &= (~0)<<k;
cout<<A;
return 0;
}
4.Написать программу с применением битовых операций, которая для трёх целых неотрицательных переменных X, Y, Z выполняет следующие операции: переменной Х присваивает значения младших 5 битов, а переменной Y – следующие 6 битов переменной Z.
5.Написать программу с применением битовых операций, которая для трёх переменных X, Y, Z, являющихся двухбайтными беззнаковыми величинами (X<64, Y<128), выполняет следующие операции: в младщие 6 битов переменной Z помещается число Х, в следующие 7 битов Z размещается число Y, старшие биты Z сохраняются без изменения.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2019, 09:35
Ответы с готовыми решениями:

Битовые последовательности и битовые операции
Вычислить сумму по модулю 2 всех бит в позициях, номер которых кратен 2^k. (1, 2, 4, 8, 16, 32). ...

Битовые операции, битовые поля.
Здравствуйте! Еслть 4 диапазона чисел: 0-100, 0-100, 0-6000, 0-3. Сделать в виде битовых операций....

Используя только битовые операции и операции арифметического сложения и вычитания, вычислите число
Даны числа x и y. Используя только битовые операции и операции арифметического сложения и...

Битовые операции и операции смещения языка С
Доброго времени суток господа,помогите пожалуйста.Есть 2 кода к задаче,первый работает...

8
Диссидент
Эксперт C
26842 / 16748 / 3671
Регистрация: 24.12.2010
Сообщений: 37,493
18.10.2019, 09:55 2
1. Не понял
2.
C++
1
2
k = k%16;
Res = n>>k & (n<<(16-k));
3.
A = ((A>>k) << k);
0
Продавец времени
7129 / 4005 / 924
Регистрация: 12.03.2015
Сообщений: 18,834
18.10.2019, 09:55 3
Цитата Сообщение от nastya232 Посмотреть сообщение
Помогите пожалуйста решить задачки на с++
Чем помочь-то? Чо не получается?
0
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 2
18.10.2019, 11:16  [ТС] 4
Нужно написать код
0
Модератор
2174 / 1539 / 835
Регистрация: 16.10.2013
Сообщений: 4,536
Записей в блоге: 12
18.10.2019, 11:58 5
Цитата Сообщение от Verevkin Посмотреть сообщение
Чем помочь-то? Чо не получается?
Цитата Сообщение от nastya232 Посмотреть сообщение
Нужно написать код

Не по теме:


вопрос был не в том, какова конечная цель, а каковы промежуточные проблемы в ее достижении.

0
Продавец времени
7129 / 4005 / 924
Регистрация: 12.03.2015
Сообщений: 18,834
18.10.2019, 13:01 6
Цитата Сообщение от nastya232 Посмотреть сообщение
Нужно написать код
У тебя компьютер есть?
0
0 / 0 / 0
Регистрация: 03.07.2020
Сообщений: 7
14.01.2021, 19:49 7
Цитата Сообщение от Байт Посмотреть сообщение
A = ((A>>k) << k);
Какое значение имеют эти символы?
0
Модератор
2174 / 1539 / 835
Регистрация: 16.10.2013
Сообщений: 4,536
Записей в блоге: 12
15.01.2021, 05:04 8
Цитата Сообщение от KaNdaGaR2 Посмотреть сообщение
Какое значение имеют эти символы?
Операции побитового сдвига влево и вправо (в соответствии с направлением скобок)

Сдвиг влево на k бит эквивалентен умножению на 2 в степени k:
https://www.cyberforum.ru/cgi-bin/latex.cgi?r = x << k = x * {2}^{k}

Сдвиг вправо на k бит эквивалентен делению на 2 в степени k:
https://www.cyberforum.ru/cgi-bin/latex.cgi?r = x >> k = \frac{x}{{2}^{k}}

Небольшой пример:
C++
1
2
3
4
5
6
7
#include <iostream>
int main() {
    int x = 8, k = 2;
    std::cout << (x << k) << std::endl; // 32
    std::cout << (x >> k) << std::endl; // 2
    return 0;
}
0
360 / 304 / 62
Регистрация: 14.10.2014
Сообщений: 1,279
15.01.2021, 12:30 9
Цитата Сообщение от nastya232 Посмотреть сообщение
Написать программу, которая позволит ввести целое число с клавиатуры и преобразовать его так, чтобы оно было числом, приведенном к числу кратному 32.
Первое что в голову пришло (может я и не прав ) - вводим целое число с клавиатуры (любое допустим назовём его value). А далее пишем:
"Преобразование числа value к числу кратному 32 есть число: " - умножаем value на 32 и пишем результат.

Нееее, бред какой-то.....
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2021, 12:30
Помогаю со студенческими работами здесь

Битовые операции
На входе: строка с числом в двоичной форме. Распознать строку в переменную типа int. На выходе:...

Битовые операции
Здравствуйте, необходимо разбить двухбайтное целое число на тетрады и поменять местами 2 и 3...

Битовые операции
Доброго времени суток! Помогите решить задачу на тему &quot;Битовые операции&quot;: Ввести четыре целых...

Битовые операции
Привет! Помогите пожалуйста извлечь данные. Имеется DWORD значение. Из него надо извлечь данные...

Битовые операции
На входе: строка с числом в двоичной форме. Распознать строку в переменную типа int. На выходе:...

Битовые операции
С помощью битовых операций выести на экран значение к-ого спарва бита. Помогите пожалуйста!что-то...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru