System.MulDivInt64
Delphi
function MulDivInt64(AValue, AMul, ADiv: Int64): Int64; overload;
function MulDivInt64(AValue, AMul, ADiv: Int64; out Remainder: Int64): Int64; overload;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.pas | System | System |
説明
Int64((Int128(AValue) * Int128(AMul)) div Int128(ADiv))
という式の値を返します。
Int128
は、符号付き 128 ビット整数値を表す疑似型です。- 任意指定のパラメータ
Remainder
を指定すると、このパラメータにInt64((Int128(AValue) * Int128(AMul)) mod Int128(ADiv))
という式の結果の値が格納されます。
A * B div C
という式で A * B
がオーバーフローすると、結果は無効になります。この関数では、オーバーフローの可能性を回避できるよう、値を 128 ビット整数で計算します。