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

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

Войти
Регистрация
Восстановить пароль
 
Exoo
24 / 21 / 1
Регистрация: 26.11.2011
Сообщений: 92
#1

Битовые операции. - C++

20.05.2012, 22:48. Просмотров 592. Ответов 2
Метки нет (Все метки)

подскажите пожалуйста
как сделать обратное преобразование после выполнения такого кода
C++
1
2
st=1;
st = (st >> 16) & 0x7fff;
как теперь получить st =1
C++
1
st = (st << 16) ????????;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2012, 22:48     Битовые операции.
Посмотрите здесь:

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

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

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

Битовые операции - C++
Собсно,если используется 4 байтовая переменная,то почему она представлена 16 битами(1010 0110 0010 0110),а не 32 битами?

Битовые операции - C++
помогите написать программу в консоли... я вообще не знаю эту тему и не знаю ка делать... вот, задача.. Создайте программу,...

Битовые операции - C++
Не могу разобраться с 4 заданием Реализовал пятое но не в одну строчку и без понятия как сделать в одну П.5.18.Правил Запрещено...

Битовые операции - C++
Приветствую! Изучаю C++, не могу освоить битовые операции (перемещение, исключающие или, инвертирование всякое). Просто не понимаю...

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

Битовые операции - C++
Народ дайте ссылку пожалуйста на задачи по сишке где нужно использовать битовые операции! Желательно с решениями!

Битовые операции - C++
Помогите, пожалуйста, написать код на C++! Дана последовательность из 8 байт: unsigned char n =...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
necheyhin_a_v
3 / 3 / 1
Регистрация: 18.12.2012
Сообщений: 60
19.12.2012, 18:29     Битовые операции. #2
Цитата Сообщение от Exoo Посмотреть сообщение
подскажите пожалуйста
как сделать обратное преобразование после выполнения такого кода
C++
1
2
st=1;
st = (st >> 16) & 0x7fff;
как теперь получить st =1
C++
1
st = (st << 16) ????????;
Если вы используете побитовый сдвиг вправо на 16 разрядов это у вас в st хранится 0! И когда вы применяете операцию побитового & в st у вас по прежнему 0
Как вариант, можно к st прибавить единицу
Или можно сделать так:
st |= 1;
У вас младший бит установится в единицу, собственно единица и получится в любой системе счисления
И вообще после того, как у вас обнулилась st я смысла не вижу применять операцию &
Exoo
24 / 21 / 1
Регистрация: 26.11.2011
Сообщений: 92
23.12.2012, 18:43  [ТС]     Битовые операции. #3
Цитата Сообщение от necheyhin_a_v Посмотреть сообщение
Если вы используете побитовый сдвиг вправо на 16 разрядов это у вас в st хранится 0! И когда вы применяете операцию побитового & в st у вас по прежнему 0
Как вариант, можно к st прибавить единицу
Или можно сделать так:
st |= 1;
У вас младший бит установится в единицу, собственно единица и получится в любой системе счисления
И вообще после того, как у вас обнулилась st я смысла не вижу применять операцию &
суть вопроса была не в этом, а в общее как получить обратное значение
C++
1
2
st=115889; //11100010010110001
st = (st >> 16) & 0x7fff;
Ответ Создать тему
Опции темы

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