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

Побитовые операции (программа, которая интерпретирует старшие 3 бита как некоторое число n...) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание дружественных классов http://www.cyberforum.ru/cpp-beginners/thread769686.html
1. Класс Сумка (цвет, содержимое, количество предметов в сумке); 2. Класс Дама (имя); Описание предметной области – дама может положить в сумку какой-либо предмет.
C++ Неправильно работает перегруженный оператор #include <iostream> using namespace std; class PhoneNumber { friend ostream &operator << (ostream &, const PhoneNumber &); friend istream &operator >> (istream &, PhoneNumber &); private:... http://www.cyberforum.ru/cpp-beginners/thread769669.html
C++ Cпособ передачи книги
Группа состоит из N человек. В ней каждый имеет N/2 друзей и не более К врагов. У одного из них есть книга, которую все хотят прочитать. Написать программу, реализующую способ передачи книги таким...
C++ Расчет треугольника
В окно MFC вводятся длины двух сторон треугольника (1,2 строка) и величина угла между ними(3 строка). Найти третью сторону треугольника и вывести результат в четвертую строку. Предположительно...
C++ Произведение элементов в строках, которые не содержат нулевых элементов http://www.cyberforum.ru/cpp-beginners/thread769588.html
Задание: Реализуйте следующие задания своего варианта с использованием шаблона функции. Работа с двумерными массивами. Дана целочисленная прямоугольная матрица. Определить: Произведение элементов в...
C++ multimap: Сортировка значений в пределах одного ключа Добрый день. Каким образом можно отсортировать значения в пределах одного ключа в multimap? Без костылей. подробнее

Показать сообщение отдельно
Valli1
4 / 4 / 0
Регистрация: 14.09.2012
Сообщений: 64
26.01.2013, 18:20
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
unsigned int x=1234;
unsigned int x1=1234;
int main()
{
unsigned int t=2147483648;
unsigned int i=0;
while(t>=x){
t=t>>1;
i++;}//отсуп от 32 бита
unsigned int t1=(32-i);//количество бит
x=x>>(t1-3);//значение 3х бит
x1=x1<<(32-t1+3);//удаляем первые 3 бита
x1=x1>>(32-t1+3);//восстанавливаем без 3х бит
x1=x1>>x;//сдвигаем на число полученное из 1х 3х бит 14 и 15 можно объеденить.
std::cout<<x1<<'\n';
В предыдущем случае учитывал первые 3 бита, сейчас откорректировал.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru