fonction llMulDiv
[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 llMulDiv
fonction implémente la formule ((a*b)+rnd)/c
où chaque terme est une valeur 64 bits.
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, la formule des octets par seconde est
(Number of Bytes * Reference Time) / 10,000,000
qui peut être calculé en tant que llMulDiv(nBytes, rtTime, 10000000, 0)
. Utilisez le paramètre rnd comme facteur d’arrondi.
Syntaxe
LONGLONG WINAPI Int64x32Div32(
LONGLONG a,
LONGLONG b,
LONGLONG c,
LONGLONG 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é.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi