System.MulDivInt64

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function MulDivInt64(AValue, AMul, ADiv: Int64; [out Remainder: 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 ビット整数で計算します。

関連項目