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

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

Войти
Регистрация
Восстановить пароль
 
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 132
#1

Операции со сдвигом битов - C++

13.01.2013, 02:43. Просмотров 386. Ответов 5
Метки нет (Все метки)

Решил позакрывать немного дырки в знаниях, и наткнулся на такую вещь))

Вообщем ясно что каждый побитовый сдвиг влево множит на 2, а в право - делит на два.

Но поясните мне как работает
C++
1
return 1<<n;
Я понимаю что возвращает 2^n но в тоже время не понимаю Как-то так)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2013, 02:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Операции со сдвигом битов (C++):

Неверный результат функции поиска младших битов побитовым сдвигом - C++
Может здесь дело в неявном приведении типов? Добавлено через 23 минуты Есть ф-ция, имеющая два параметра num(число) и...

Операции с побитовыми операторами (число 8 битов и число 9 битов) - C++
Доброго времени суток всем ! Прошу ответа на несложный вопрос (...по крайней мере мне так кажется...) Есть функция: ...

Побитовые операции. Инверсия нечетных битов - C++
Дано длинное целое неотрицательное число. Получить число, инвертируя его нечетные биты.

Побитовые операции в Си. Изменение отдельных битов числа - C++
Собственно задание такое: &quot;Дано длинное целое неотрицательное число k. Получить целое число, отбросив нечетные биты данного числа k.&quot; Не...

Побитовые операции (подсчитать количество парных нулевых битов, расположенных строго между единичными) - C++
Как подсчитать кол-во парных нулевых битов, расположенных строго между единичными?

Битовые операции (написать функцию для сброса в ноль двух битов с заданными номерами в коде символа) - C++
Вот наткнулся на интересную задачку: &quot;Написать функцию для сброса в ноль двух битов с заданными номерами в коде символа&quot; Во-первых...

5
Kuzia domovenok
1951 / 1804 / 140
Регистрация: 25.03.2012
Сообщений: 6,245
Записей в блоге: 1
13.01.2013, 02:49 #2
Что тут думать? Ты не знаешь, что такое "лево"? Был 00000011, стало 00001100. Вот те сдвиг влево на 2
0
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1
13.01.2013, 02:51 #3
1 == 0000 0000 0000 0000 0000 0000 0000 0001
1 << 1 == 0000 0000 0000 0000 0000 0000 0000 0010 == 2
1 << 2 == 0000 0000 0000 0000 0000 0000 0000 0100 == 4
1 << 3 == 0000 0000 0000 0000 0000 0000 0000 1000 == 8
и тд.
1
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 132
13.01.2013, 03:01  [ТС] #4
Kuzia domovenok, суть не в том, я знаю что такое лево и право, как не странно)
Я протупил немного в другом)
0001 - 1
0010 - 2 << 1
...
1000 - 8 << 3
2^3 = 8

1ца смутила меня)))
0
Psilon
Master of Orion
Эксперт .NET
5908 / 4805 / 634
Регистрация: 10.07.2011
Сообщений: 14,407
Записей в блоге: 5
Завершенные тесты: 4
13.01.2013, 03:30 #5
Fareiro, 1 = 20
0
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 132
13.01.2013, 03:38  [ТС] #6
Psilon, я что-то упустил? или к чему это вы?

p.c я знаю что 1
0
13.01.2013, 03:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2013, 03:38
Привет! Вот еще темы с ответами:

Функции. побитовые операции. Написать функцию, которая для заданного целого числа Х вычисляет количество единичных битов в этом числе - C++
Здравствуйте, уважаемые мастера программирования. Нуждаюсь в вашей помощи. Написать функцию, которая для заданного целого числа Х...

Перевод таблицы битов и времени в последовательность битов arduino - C++
доброго времени суток в приведенной ниже таблице левый столбец - биты, правый - их длительность. известно, что единичный сигнал длится от...

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

эвм-умножение со сдвигом влево на c++ - C++
задали лабораторную,нужно написать программу на c++ которая производит умножение со сдвигом влево.позно вспомнила,не успеваю.подскажите как...


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

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

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