Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Exoo
24 / 21 / 15
Регистрация: 26.11.2011
Сообщений: 92
1

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

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

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

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

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

Битовые операции
Вот такая вот лаба на С, уже как не думал ну не могу решить я ее. Прошу помочь,...

Битовые операции
Задание: Как я понимаю надо создать объект типа int, но как менять местами...

Битовые операции
Ребят, нужен алгоритм, а желательно и код для реализации следующей функции: ...

2
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 я смысла не вижу применять операцию &
0
Exoo
24 / 21 / 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2012, 18:43

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

Битовые операции
Ребят, помогите кто чем может. Дана строка unsigned char. Необходимо через...

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


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

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

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