Partager via


Macro Int64ShrlMod32 (winnt.h)

Effectue une opération de décalage logique vers la droite 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 vers la droite où le nombre de décalages est dans la plage 0-31.

Syntaxe

void Int64ShrlMod32(
  [in]  a,
  [in]  b
);

Paramètres

[in] a

Entier 64 bits non signé à déplacer.

[in] b

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

Valeur de retour

None

Remarques

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

Dans une opération de décalage logique vers la 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 du 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 conduit à un code non optimal : code qui appelle une sous-routine, ou code inline mais 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 presque 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.
 

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête winnt.h (inclure Windows.h)

Voir aussi

Int64ShllMod32

Int64ShraMod32

Entiers volumineux