Int64x32Div32 fonction)
La Int64x32Div32 fonction implémente la formule ((a*b)+rnd)/c où a est une valeur 64 bits et b, c et Rnd sont des valeurs 32 bits.
Syntaxe
LONGLONG WINAPI Int64x32Div32(
LONGLONG a,
LONG b,
LONG c,
LONG rnd
);
Paramètres
-
un
-
Multiplicande.
-
b
-
Multiplicateur.
-
c
-
Division.
-
RND
-
Facteur d’arrondi.
Valeur retournée
Retourne soit le calcul, soit l' (a * b + rnd)/c une des valeurs suivantes.
| Code de retour | Description |
|---|---|
|
Un dépassement s’est produit, car le résultat est trop grand (positif). |
|
Un dépassement s’est produit, car le résultat est trop grand (négatif). |
Remarques
L’arrondi sur la Division est vers zéro. La division par zéro est comptée comme une condition de dépassement de capacité.
Les horodatages et les temps de recherche étant des valeurs 64 bits, cette fonction est utile pour effectuer des conversions sur les systèmes 32 bits. Par exemple, dans MPEG-1, la référence de l’horloge système est 90-kHz, ou 90 000 graduations par seconde. La formule à convertir en temps de référence (unités de 100 nanosecondes) est
(timestamp * 1000) / 9
qui peut être calculé comme Int64x32Div32(timestamp, 1000, 9, 0) . Utilisez le paramètre Rnd comme facteur d’arrondi.
Configuration requise
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|