| 
| Описание |  | Ключевое слово Shl выполняет поразрядный сдвиг влево целого числа. Число сдвигается на Bits бит влево. 
 Например:
 var
 myByte : Byte;
 begin
 myByte := $2F;    // $2F = 47 decimal
 myByte := myByte Shl $24;
 end;
 
 Дает тот же самый результат, что и Shl 4 = $F0.
 |  |  |  | Примечания |  | Предупреждение - используйте Shl только когда требуется побитовая операция - не используйте вместо умножения или деления. Во-первых, потому что это неизвестно, что случается. Во-вторых, биты могут быть потеряны в операции. |  |  |  | Похожие команды |  | 
Hi  Возвращает байт старшего разряда от типа Integer.
 Lo  Возвращает младший байт целого числа (2-байтового)
 
 Shr  Сдвигает значение целого числа вправо на указанное число бит
 
 
 |  |  | 
| Пример кода : Смещение влево и теряя старшие разряды перед смещением назад |  | var before, after : Word;
 begin
 // Установка начального числа
 before := $3C;      // Hex 3C = 003C в Word
 
 // Сдвиг влево на 12 потеряет верхние 12 бит Word
 after := before Shl 12;
 
 ShowMessageFmt('До : %x',[before]);
 ShowMessageFmt('После смещения влево: %x',[after]);
 
 // Смещение вправо на 12 не возвратит потерянные данные
 after := after Shr 12;
 
 ShowMessageFmt('После смещения вправо : %x',[after]);
 end;
 
 |  | До : 3C После смещения влево : C000
 После смещения вправо : C
 
 |  |