88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
|
|
1 | |
Побитовые сдвиги16.10.2016, 12:49. Показов 1313. Ответов 2
Метки нет (Все метки)
Объясните, почему сдвиг битов влево значит умножению на степень двойки.
Пример: 6 << 1 = 6 * 2; 6 << 3 = 6 * 8; Также непонятно и со сдвигом вправо(деление на степень двойки), но думаю если с первым разобраться, то и второе проясниться.
0
|
16.10.2016, 12:49 | |
Ответы с готовыми решениями:
2
Побитовые сдвиги Побитовые операции Побитовые операции Побитовые операции |
31 / 31 / 12
Регистрация: 25.07.2015
Сообщений: 120
|
|
16.10.2016, 12:57 | 2 |
Сообщение было отмечено Artmal как решение
Решение
Artmal, 6 << 1 добавляет справа от числа дополнительный 0, что эквивалентно умножению на 102=210. Запиши на листочке перевод 1102 в десятичную систему, потом так же 11002. Увидишь, что просто степени двойки увеличились на единицу (опять же эквивалентно умножению на 2).
1
|
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
|
|
16.10.2016, 13:53 [ТС] | 3 |
Правильно ли я понял.
При сдвиге влево(<<) на n бит, мы просто дописываем справа n 0. При сдвиге вправо(>>) на n бит, мы сдвигаем последовательность бит на n бит вправо, соотвественно теряется n правых бит. При беззнаковом сдвиге вправо(>>>) на n бит, делаем то же что и при обычном сдвиге вправо, только еще слева дописываем n нулей.
0
|
16.10.2016, 13:53 | |
16.10.2016, 13:53 | |
Помогаю со студенческими работами здесь
3
Побитовые операции Побитовые операции над числами Побитовые операции: проверить, является ли число степенью двойки Сдвиги битов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |