Partager via


Macro Int64ShrlMod32 (winnt.h)

Effectue une opération de décalage logique droit sur une valeur entière 64 bits non signée. La fonction fournit un code de décalage amélioré pour les décalages logiques de droite où le nombre de décalages se trouve dans la plage 0-31.

Syntaxe

ULONGLONG Int64ShrlMod32(
  [in]  ULONGLONG a,
  [in]  DWORD b
);

Paramètres

[in] a

Entier 64 bits non signé à déplacer.

[in] b

Nombre de décalages dans la plage 0-31.

Valeur retournée

Type : ULONGLONG

La valeur de retour est le résultat entier 64 bits non signé de l’opération de décalage logique de droite.

Remarques

Le nombre de décalages correspond au nombre de positions de bits déplacées par la valeur.

Dans une opération de décalage logique de droite sur une valeur non signée, les bits de la valeur se déplacent vers la droite et les bits libérés sur le côté gauche de la valeur sont définis sur zéro.

Un compilateur peut générer un code optimal pour une opération de décalage logique droite lorsque le nombre de décalages est une constante. Toutefois, si le nombre de décalages est une variable dont la plage de valeurs est inconnue, le compilateur doit supposer le pire cas, ce qui entraîne un code non optimal : code qui appelle une sous-routine ou du code inline, mais des branches. En limitant le nombre de décalages à la plage 0-31, la fonction Int64ShrlMod32 permet au compilateur de générer du code optimal ou quasi optimal.

Note Le paramètre Value et la valeur de retour de la fonction Int64ShrlMod32 sont des valeurs 64 bits, et non LARGE_INTEGER structures.
 

Spécifications

Besoin Valeur
Client minimum requis Windows XP [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | Applications UWP]
plateforme cible Fenêtres
En-tête winnt.h (include Windows.h)

Voir aussi

Int64ShllMod32

Int64ShraMod32

Entiers volumineux