llMulDiv-Funktion
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Die llMulDiv
Funktion implementiert die Formel ((a*b)+rnd)/c
, bei der jeder Ausdruck ein 64-Bit-Wert ist.
Zeitstempel und Suchzeiten sind 64-Bit-Werte, sodass diese Funktion nützlich ist, um Konvertierungen auf 32-Bit-Systemen durchzuführen. Die Formel für Bytes pro Sekunde lautet z. B.
(Number of Bytes * Reference Time) / 10,000,000
die als llMulDiv(nBytes, rtTime, 10000000, 0)
berechnet werden kann. Verwenden Sie den rnd-Parameter als Rundungsfaktor.
Syntax
LONGLONG WINAPI Int64x32Div32(
LONGLONG a,
LONGLONG b,
LONGLONG c,
LONGLONG rnd
);
Parameter
-
a
-
Multipliziert.
-
b
-
Multiplikator.
-
c
-
Divisor.
-
Rnd
-
Rundungsfaktor.
Rückgabewert
Gibt entweder die (a * b + rnd)/c
Berechnung oder einen der folgenden Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Ein Überlauf ist aufgetreten, weil das Ergebnis zu groß (positiv) ist. |
|
Ein Überlauf ist aufgetreten, weil das Ergebnis zu groß (negativ) ist. |
Bemerkungen
Die Rundung der Division erfolgt in Richtung null. Die Division durch 0 (null) wird als Überlaufbedingung gezählt.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch