다음을 통해 공유


__mul128

Microsoft 전용

처음 두 인수로 전달된 64비트 정수 두 개를 곱한 다음 곱의 상위 64비트를 HighProduct가 가리키는 64비트 정수에 배치하고 곱의 하위 64비트를 반환합니다.

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

매개 변수

  • [in] Multiplier
    곱할 첫 번째 64비트 정수입니다.

  • [in] Multiplicand
    곱할 두 번째 64비트 정수입니다.

  • [out] HighProduct
    곱의 상위 64비트입니다.

반환 값

곱의 하위 64비트입니다.

요구 사항

내장 함수

아키텍처

__mul128

x64

헤더 파일 <intrin.h>

예제

// mul128.c
// processor: 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);
}
  

참고 항목

참조

컴파일러 내장 함수