LlMulDiv (función)
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
La llMulDiv
función implementa la fórmula ((a*b)+rnd)/c
donde cada término es un valor de 64 bits.
Las marcas de tiempo y los tiempos de búsqueda son valores de 64 bits, por lo que esta función es útil para realizar conversiones en sistemas de 32 bits. Por ejemplo, la fórmula de bytes por segundo es
(Number of Bytes * Reference Time) / 10,000,000
que se puede calcular como llMulDiv(nBytes, rtTime, 10000000, 0)
. Use el parámetro rnd como factor de redondeo.
Sintaxis
LONGLONG WINAPI Int64x32Div32(
LONGLONG a,
LONGLONG b,
LONGLONG c,
LONGLONG rnd
);
Parámetros
-
a
-
Multiplicando.
-
b
-
Multiplicador.
-
c
-
Divisor.
-
Rnd
-
Factor de redondeo.
Valor devuelto
Devuelve el (a * b + rnd)/c
cálculo o uno de los valores siguientes.
Código devuelto | Descripción |
---|---|
|
Se produjo un desbordamiento porque el resultado es demasiado grande (positivo). |
|
Se produjo un desbordamiento porque el resultado es demasiado grande (negativo). |
Observaciones
El redondeo de la división está hacia cero. La división por cero se cuenta como una condición de desbordamiento.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Consulte también