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

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

Войти
Регистрация
Восстановить пароль
 
amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
#1

Операции сдвига - C++

04.10.2011, 18:17. Просмотров 664. Ответов 2
Метки нет (Все метки)

Помогите понять операции сдвига.
Вот два примера левого и правого сдвига.

9 (base 10): 00000000000000000000000000001001 (base 2)
--------------------------------
9 << 2 (base 10): 00000000000000000000000000100100 (base 2) = 36 (base 10)


9 (base 10): 00000000000000000000000000001001 (base 2)
--------------------------------
9 >> 2 (base 10): 00000000000000000000000000000010 (base 2) = 2 (base 10)

Какова логика получения значение сдвига при этом не преобразовуя в двоичный код?
Какие действия производят что бы получить:
9 << 2 = 36.

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

Операции сдвига - C++
Через операторы сдвига можно в одну переменную поместить несколько значений. int A = 0; int b = {44,45,46}; A = (int)(b|b&lt;&lt;4|b&lt;&lt;8); ...

операции сдвига - C++
помогите со сдвигом требуется сделать в цикле сдвиг нуля в такой последовательности. подскажите как сделать? 11111110 11111101 ...

Побитовые операции сдвига - C++
Как работают операции сдвига вправо? Я всегда считал что освобождающиеся левые биты заполняются нулями. Оказывается это не всегда так. Если...

Операции сдвига в языке C. - C++
Нужно сформировать шестнадцатеричное число с помощью операций сдвига. Помогите продолжить программу. #include &lt;stdio.h&gt; int main()...

Упаковка пакета с помощью операции сдвига - C++
здравствуйте подскажите пожалуйста, правильно ли написано по этой картинке unsigned_int16 a,b; packet = a &lt;&lt;8; packet = a&lt;&lt;5...

Операции сдвига, перегруженые функции. Объясните суть - C++
Люди, помогите плиз. Дали на летнюю практику задания, которые в семестре не делали впринципе(учили простой Си). Первое задание такое:...

2
212months
5 / 5 / 1
Регистрация: 09.05.2011
Сообщений: 6
04.10.2011, 18:29 #2
x << 1 умножает на 2 (если х - целое)
x >> 1 целочисленно делит на 2.
Соответственно, если сдвигать больше, чем на одну позицию, то результат будет сродни последовательному целочисленному умножению/делению на 2 столько раз, на сколько позиций осуществляется сдвиг.
0
amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
04.10.2011, 18:31  [ТС] #3
Спасибо! Теперь все стало на свои места)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2011, 18:31
Привет! Вот еще темы с ответами:

Перегрузить операции сравнения комплексных чисел и операции потокового вывода - C++
Создать класс комплексное число. Перегрузить операции сравнения комплексных чисел! =, ==,&gt;, &lt;,&gt; =, &lt;= И операции потокового ввода-вывода. ...

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

Заменить операции ifstream на операции fprintf - C++
Собственно как и написано в заголовке заменить операции ifstream на fprintf со всеми вытекающими(типо getline) необходимо мне. Помогите...

регистр сдвига???? - C++
На вход поступают числа: 10111 00101 11111 (к примеру) на регистр поступает старший разряд каждого миниблока(в каждом миниблоке 5...


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

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

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