Funzione llMulDiv
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
La llMulDiv
funzione implementa la formula ((a*b)+rnd)/c
in cui ogni termine è un valore a 64 bit.
I timestamp e i tempi di ricerca sono valori a 64 bit, quindi questa funzione è utile per eseguire conversioni in sistemi a 32 bit. Ad esempio, la formula per byte al secondo è
(Number of Bytes * Reference Time) / 10,000,000
che può essere calcolato come llMulDiv(nBytes, rtTime, 10000000, 0)
. Usare il parametro rnd come fattore di arrotondamento.
Sintassi
LONGLONG WINAPI Int64x32Div32(
LONGLONG a,
LONGLONG b,
LONGLONG c,
LONGLONG rnd
);
Parametri
-
Un
-
Moltiplicatore.
-
b
-
Moltiplicatore.
-
c
-
Divisore.
-
Rnd
-
Fattore di arrotondamento.
Valore restituito
Restituisce il (a * b + rnd)/c
calcolo o uno dei valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Si è verificato un overflow perché il risultato è troppo grande (positivo). |
|
Si è verificato un overflow perché il risultato è troppo grande (negativo). |
Commenti
L'arrotondamento della divisione è verso zero. La divisione per zero viene conteggiata come condizione di overflow.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche