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

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

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

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

20.05.2012, 22:48. Просмотров 605. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Битовые операции. (C++):

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

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

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

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

битовые операции - C++
надо написать ф-цию, которая в данном числе(в двоичной с.с.) на заданном номере ставила 1, вместо 0

Битовые операции - C++
Имеется число int x = 85; // 1010101 - двоичное представление // 6543210 - номера битов // нужно взять // 0,2,3,4 биты и сложить...

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 / 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;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2012, 18:43
Привет! Вот еще темы с ответами:

Битовые операции - C++
Ребят, нужен алгоритм, а желательно и код для реализации следующей функции: Есть скажем числа от 0 до 7, т.е. 8 (2^3) Теперь...

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

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

Битовые операции - C++
Здравствуйте! нужно решить задачу: в целом числе заменить младший бит старшего байта на 1 решается ли это битовыми сдвигами? и...


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

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

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