Оператор Shl (Сдвиг влево)
 
Сдвигает биты числового выражения влево

Синтаксис
Использование

result = lhs Shl rhs

Параметры

lhs
левая сторона выражения.
rhs
правая сторона сдвига влево.

Возвращаемое значение

Возвращает результат lhs , в котором произойдет сдвиг влево rhs количеством.

Описание

Оператор Shl (Сдвиг влево) сдвигает все биты в левой части выражения (lhs) влево определенное количество раз, указанное в выражении (rhs). Это имеет эффект умножения lhs на два для каждого сдвига. Для примера, "&b0101 Shl 1" возвращает двоичное число &b01010, а "5 Shl 1" вернет 10.

Ни один из операндов не изменяется в любом случае.

Этот оператор может быть перегружен для определяемых пользователем типов.

Пример

'Удваиваем число
For i As Integer = 0 To 10
    
    Print 5 Shl i, Bin(5 Shl i, 16)
    
Next i

Вывод:
 5            0000000000000101
 10           0000000000001010
 20           0000000000010100
 40           0000000000101000
 80           0000000001010000
 160          0000000010100000
 320          0000000101000000
 640          0000001010000000
 1280         0000010100000000
 2560         0000101000000000
 5120         0001010000000000


Различия диалектов

  • Нет в наличии в диалекте -lang qb , но есть псевдоним __Shl.

Отличия от QB

  • Новое в FreeBASIC

См. также