Справочник функций и процедур Delphi: Shr

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

  Реклама:

 

Shr
Ключевое слово
Сдвигает значение целого числа вправо на указанное число бит unit
  Number Shr bits


Описание
Сдвигает значение целого числа вправо на указанное число бит Число сдвигается на Bits бит вправо.
Примечания
Предупреждение - используйте Shl только когда требуется побитовая операция - не используйте вместо умножения или деления. Во-первых, потому что это неизвестно, что случается. Во-вторых, биты могут быть потеряны в операции.

Предупреждение: компилятор отклонит жестко закодированные значения сдвига вправо, которые превышают 32, если тип данных не Int64.
Похожие команды
Hi  Возвращает байт старшего разряда от типа Integer.

Lo  Возвращает младший байт целого числа (2-байтового)

Shl  Сдвигает значение целого числа влево на указанное число бит

 
Пример кода : Смещение влево и теряя старшие разряды перед смещением вправо
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
 


Copyright © 2004-2019 Delphi Sources (источник – "DelphiBasics.ru")
 

Delphi 10.2 Tokyo

Delphi 10.2 Tokyo — самый быстрый способ создавать и обновлять интенсивно работающие с данными, распределенные и сильно взаимодействующие приложения с развитым и визуально привлекательным пользовательским интерфейсом для Windows 10, Mac, мобильных устройств, IoT и других платформ.


Группа ВКонтакте   Facebook   Ссылка на Twitter