Сдвигает биты числового выражения вправо
Синтаксис
Использование
result = lhs Shr rhs
Параметры
lhs
левая сторона выражения.
rhs
правая сторона сдвига вправо.
Возвращаемое значение
Возвращает результат lhs , в котором произойдет сдвиг вправо rhs
количеством.
Описание
Оператор Shr (Сдвиг вправо) сдвигает все биты в левой части
выражения (lhs) вправо определенное количество раз,
указанное в выражении (rhs). Это имеет эффект деления lhs
на два для каждого сдвига. Например, "&b0101 Shr 1"
возвращает двоичное число &b010, а "5 Shr 1" вернет 2.
Если выражение слева знаковое, знаковый бит копируется в только что
созданный бит слева после сдвига.
Ни один из операндов не изменяется в любом случае.
Этот оператор может быть перегружен для определяемых пользователем типов.
Пример
'Сократить число вдвое
For i As Integer = 0 To 10
Print 1000 Shr i, Bin(1000 Shr i, 16)
Next i
Вывод:
1000 0000001111101000
500 0000000111110100
250 0000000011111010
125 0000000001111101
62 0000000000111110
31 0000000000011111
15 0000000000001111
7 0000000000000111
3 0000000000000011
1 0000000000000001
0 0000000000000000
Различия диалектов
- Нет в наличии в диалекте -lang qb
, но есть псевдоним __Shr.
Отличия от QB
См. также