Compartir a través de


Función Int64x32Div32

[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 Int64x32Div32 función implementa la fórmula ((a*b)+rnd)/cdonde un es un valor de 64 bits y b, c y rnd son valores de 32 bits.

Sintaxis

LONGLONG WINAPI Int64x32Div32(
   LONGLONG a,
   LONG     b,
   LONG     c,
   LONG     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
0x7FFFFFFFFFFFFFFF
Se produjo un desbordamiento porque el resultado es demasiado grande (positivo).
0x8000000000000000
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.

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, en MPEG-1, la referencia del reloj del sistema es de 90 kHz o 90 000 tics por segundo. La fórmula para convertirla en tiempo de referencia (unidades de 100 nanosegundos) es

(timestamp * 1000) / 9

que se puede calcular como Int64x32Div32(timestamp, 1000, 9, 0). Use el parámetro rnd como factor de redondeo.

Requisitos

Requisito Value
Encabezado
Wxutil.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

Funciones auxiliares varias

llMulDiv