_umul128
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]
Microsoft 固有の仕様 →
最初の 2 個の引数として渡された 2 個の 64 ビット符号なし整数が増加しHighProduct が指す 64 ビット符号なし整数に製品の上位 64 ビットの位置製品の下位 64 ビットを返します。
unsigned __int64 _umul128(
unsigned __int64 Multiplier,
unsigned __int64 Multiplicand,
unsigned __int64 *HighProduct
);
パラメーター
[入力] Multiplier
乗算対象の最初の 64 ビット整数。[入力] Multiplicand
乗算対象の 2 64 ビット整数。[出力] HighProduct
製品の上位 64 ビット。
戻り値
製品の下位 64 ビット。
必要条件
組み込み |
アーキテクチャ |
---|---|
_umul128 |
はx64 |
ヘッダー ファイル <intrin.h>
使用例
// umul128.c
// processor: IPF, x64
#include <stdio.h>
#include <intrin.h>
#pragma intrinsic(_umul128)
int main()
{
unsigned __int64 a = 0x0fffffffffffffffI64;
unsigned __int64 b = 0xf0000000I64;
unsigned __int64 c, d;
d = _umul128(a, b, &c);
printf_s("%#I64x * %#I64x = %#I64x%I64x\n", a, b, c, d);
}