Разное
Облака / Clouds

The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>

time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Delphi - Справочник: Shl
Shl
|
Number Shl bits |
Ключевое слово (Unit )
|
Сдвигает значение целого числа влево на указанное число бит
|
Описание:
|
Ключевое слово Shl выполняет поразрядный сдвиг влево целого числа. Число сдвигается на Bits бит влево. Например: var myByte : Byte; begin myByte := $2F; // $2F = 47 decimal myByte := myByte Shl $24; end; Дает тот же самый результат, что и Shl 4 = $F0. |
Пример кода: Смещение влево и теряя старшие разряды перед смещением назад
|
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 |
Примечание:
|
Предупреждение - используйте Shl только когда требуется побитовая операция - не используйте вместо умножения или деления. Во-первых, потому что это неизвестно, что случается. Во-вторых, биты могут быть потеряны в операции. |