Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 130
13.01.2013, 02:43     Операции со сдвигом битов #1
Решил позакрывать немного дырки в знаниях, и наткнулся на такую вещь))

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

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

эвм-умножение со сдвигом влево на c++ C++
C++ Поразрядные операции (В массиве целых чисел подсчитать среднее арифметическое тех элементов, что содержат четное число битов не равных 1)
Побитовые операции (подсчитать кол-во парных нулевых битов, расположенных строго между единичными) C++
C++ Функции. побитовые операции. Написать функцию, которая для заданного целого числа Х вычисляет количество единичных битов в этом числе
C++ Битовые операции (написать функцию для сброса в ноль двух битов с заданными номерами в коде символа)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.01.2013, 02:49     Операции со сдвигом битов #2
Что тут думать? Ты не знаешь, что такое "лево"? Был 00000011, стало 00001100. Вот те сдвиг влево на 2
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 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
и тд.
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 130
13.01.2013, 03:01  [ТС]     Операции со сдвигом битов #4
Kuzia domovenok, суть не в том, я знаю что такое лево и право, как не странно)
Я протупил немного в другом)
0001 - 1
0010 - 2 << 1
...
1000 - 8 << 3
2^3 = 8

1ца смутила меня)))
Psilon
Master of Orion
 Аватар для Psilon
5742 / 4690 / 619
Регистрация: 10.07.2011
Сообщений: 14,162
Записей в блоге: 5
Завершенные тесты: 4
13.01.2013, 03:30     Операции со сдвигом битов #5
Fareiro, 1 = 20
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 130
13.01.2013, 03:38  [ТС]     Операции со сдвигом битов #6
Psilon, я что-то упустил? или к чему это вы?

p.c я знаю что 1
Yandex
Объявления
13.01.2013, 03:38     Операции со сдвигом битов
Ответ Создать тему
Опции темы

Текущее время: 23:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru