25 / 22 / 15
Регистрация: 26.11.2011
Сообщений: 92
1

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

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

подскажите пожалуйста
как сделать обратное преобразование после выполнения такого кода
C++
1
2
st=1;
st = (st >> 16) & 0x7fff;
как теперь получить st =1
C++
1
st = (st << 16) ????????;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2012, 22:48
Ответы с готовыми решениями:

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

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

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

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

2
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 я смысла не вижу применять операцию &
0
25 / 22 / 15
Регистрация: 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;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2012, 18:43
Помогаю со студенческими работами здесь

Битовые операции
Установить в ноль каждый третий значащий бит целого числа А А = 150(например) Через _itoa_s.....

Битовые операции
Есть число в двоичной системе, например &quot;01000001&quot;, рядом с единицами надо заменить нули на...

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

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

Битовые операции
Задача. Я не понимаю что тут делать. Кто то что то понимает? Элементарное я понимаю сдвиги и прочее...

битовые операции
как из 0001 0000 тоесть в dec '8' сделать 0000 0001 в dec '1'?


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

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

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