_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);
}
          
        

参照

Reference

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