The MulDiv function multiplies two 32-bit values and then divides the 64-bit result by a third 32-bit value. The return value is rounded up or down to the nearest integer.
int MulDiv(
int nNumber, |
// 32-bit signed multiplicand |
int nNumerator, |
// 32-bit signed multiplier |
int nDenominator |
// 32-bit signed divisor |
); |
If the function succeeds, the return value is the result of the multiplication and division. If either an overflow occurred or nDenominator was 0, the return value is -1.