__mul128

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]

Microsoft 固有の仕様 →

最初の 2 個の引数として渡された 2 個の 64 ビット整数が増加しHighProduct が指す 64 ビット整数に製品の上位 64 ビットの位置製品の下位 64 ビットを返します。

__int64 _mul128( 
   __int64 Multiplier, 
   __int64 Multiplicand, 
   __int64 *HighProduct 
);

パラメーター

  • [入力] Multiplier
    乗算対象の最初の 64 ビット整数。

  • [入力] Multiplicand
    乗算対象の 2 64 ビット整数。

  • [出力] HighProduct
    製品の上位 64 ビット。

戻り値

製品の下位 64 ビット。

必要条件

組み込み

アーキテクチャ

__mul128

はx64

ヘッダー ファイル <intrin.h>

使用例

// mul128.c
// processor: IPF, x64
#include <stdio.h>
#include <intrin.h>

#pragma intrinsic(_mul128)

int main()
{
    __int64 a = 0x0fffffffffffffffI64;
    __int64 b = 0xf0000000I64;
    __int64 c, d;

    d = _mul128(a, b, &c);

    printf_s("%#I64x * %#I64x = %#I64x%I64x\n", a, b, c, d);
}
          
        

参照

Reference

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