__UMULH、__umulh
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]
Microsoft 固有の仕様 →
2 個の 64 ビット符号なし整数の上位 64 ビットの積を返します。
unsigned __int64 __UMULH(
unsigned __int64 a,
unsigned __int64 b
);
unsigned __int64 __umulh(
unsigned __int64 a,
unsigned __int64 b
);
パラメーター
[入力] a
乗算対象の最初の数値。[入力] b
乗算対象の 2 番目の数値。
戻り値
乗算のビットの結果の上位 64 ビット。
必要条件
組み込み |
アーキテクチャ |
---|---|
__UMULH |
IPF |
__umulh |
x64 |
ヘッダー ファイル <intrin.h>
解説
これらのルーチンは組み込みとしてのみ使用できます。
使用例
// umulh.cpp
// processor: IPF
#include <cstdio>
#include <intrin.h>
#pragma intrinsic (__UMULH)
int main()
{
unsigned __int64 i = 0x10;
unsigned __int64 j = 0xFEDCBA9876543210;
unsigned __int64 k = i * j; // k has the low 64 bits
// of the product.
unsigned __int64 result;
result = __UMULH(i, j); // result has the high 64 bits
// of the product.
printf_s("0x%I64x * 0x%I64x = 0x%I64x%I64x \n", i, j, result, k);
return 0;
}