Fonction Int64x32Div32
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
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
-
a
-
Multiplicand.
-
b
-
Multiplicateur.
-
c
-
Diviseur.
-
Rnd
-
Facteur d’arrondi.
Valeur renvoyée
Retourne le (a * b + rnd)/c
calcul ou l’une des valeurs suivantes.
Code de retour | Description |
---|---|
|
Un dépassement de capacité s’est produit parce que le résultat est trop volumineux (positif). |
|
Un dépassement de capacité s’est produit parce que le résultat est trop volumineux (négatif). |
Notes
Arrondir la division est vers zéro. La division par zéro est comptabilisée comme condition de dépassement de capacité.
Les horodatages et les heures de recherche étant des valeurs 64 bits, cette fonction est utile pour effectuer des conversions sur des systèmes 32 bits. Par exemple, dans MPEG-1, la référence d’horloge système est de 90 kHz, soit 90 000 graduations par seconde. La formule pour convertir cette valeur en temps de référence (unités de 100 nanosecondes) est
(timestamp * 1000) / 9
qui peut être calculé en tant que Int64x32Div32(timestamp, 1000, 9, 0)
. Utilisez le paramètre rnd comme facteur d’arrondi.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi