__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;
}
          
        

参照

Reference

コンパイラ組み込み関数。