Função llMulDiv
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
A llMulDiv
função implementa a fórmula ((a*b)+rnd)/c
em que cada termo é um valor de 64 bits.
Carimbos de data/hora e tempos de busca são valores de 64 bits, portanto, essa função é útil para executar conversões em sistemas de 32 bits. Por exemplo, a fórmula para bytes por segundo é
(Number of Bytes * Reference Time) / 10,000,000
que pode ser calculado como llMulDiv(nBytes, rtTime, 10000000, 0)
. Use o parâmetro rnd como um fator de arredondamento.
Sintaxe
LONGLONG WINAPI Int64x32Div32(
LONGLONG a,
LONGLONG b,
LONGLONG c,
LONGLONG rnd
);
Parâmetros
-
a
-
Multiplicando.
-
b
-
Multiplicador.
-
c
-
Divisor.
-
Rnd
-
Fator de arredondamento.
Retornar valor
Retorna o (a * b + rnd)/c
cálculo ou um dos valores a seguir.
Código de retorno | Descrição |
---|---|
|
Estouro ocorreu porque o resultado é muito grande (positivo). |
|
O estouro ocorreu porque o resultado é muito grande (negativo). |
Comentários
Arredondar na divisão é em direção a zero. A divisão por zero é contada como uma condição de estouro.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também