Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
belii0987
0 / 0 / 1
Регистрация: 17.10.2009
Сообщений: 49
#1

СДВИГ - C++

04.02.2010, 15:18. Просмотров 812. Ответов 1
Метки нет (Все метки)

unsigned int x = 0x1234ABCD; // число которое двигать надо
unsigned int v = 1; // на сколько двигать
x = (x >> v*4) | (x << (32-v*4)); // цикл. вправо

при сдвиге вправо числа X на одну позицию получается D1234ABC

А вот если сдвигать число меньше чем 8 знаков например X=0x123abcd
то при сдвиге получается D0123abc перед 1 появляется ноль .


Как избавиться от этого нуля !!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2010, 15:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос СДВИГ (C++):

Где и когда уместно применять операции << (сдвиг влево) и >> (сдвиг вправо)?
Кто может привести пример , когда нужно использовать операции: 1) &lt;&lt; сдвиг...

Сдвиг
#include &lt;iostream&gt; #define N 3 #define M 3 using namespace std; int...

Сдвиг указателя
Помогите ответить на вопрос: На сколько байт передвигается указатель при...

Сдвиг текста
Возможно, глупый вопрос, но как сдвинуть часть слова? Например, у меня есть...

10->2 + сдвиг+инвертация
Народ пожалуйста подскажите есть ли у меня ошибки в лабе Написать...

Сдвиг Указатели
Всем привет, делаю программу с помощью указателей но не знаю как тут быть:?...

1
odip
Эксперт С++
7161 / 3219 / 76
Регистрация: 17.06.2009
Сообщений: 14,161
04.02.2010, 21:54 #2
Как избавиться от этого нуля !!!!
unsigned int - 4 байта
значит в hex-виде это число в полном виде выглядит как 0xTTTTTTTT всегда !
Когда ты говоришь что у тебя число 0x123abcd
то на самом деле у тебя 0x0123abcd
И при сдвиге у тебя будет 0xd0123adc в полном соответствии с математикой.

Так что вопрос - а надо ли тебе избавляться от нуля, если он там и должен быть ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2010, 21:54
Привет! Вот еще темы с решениями:

Сдвиг курсором
Ребят чё то не пойму как вот с такой прогой справиться, писал что то писал и...

Побитовый сдвиг
#include &lt;iostream&gt; using namespace std; int main(int argc, char** argv) {...

Побитовый сдвиг
Выполнение данного кода приравнивает asd к нулю. Хотя должно к единице, судя по...

Циклический сдвиг.
Нужно написать вот такую прогу, где нужно сдвинуть число а на n бит влево.


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

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

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