Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at __mulh.
Microsoft Specific**
Returns the high 64 bits of the product of two 64-bit signed integers.
Syntax
__int64 __mulh(
__int64 a,
__int64 b
);
Parameters
[in] a
The first number to multiply.
[in] b
The second number to multiply.
Return Value
The high 64 bits of the 128-bit result of the multiplication.
Requirements
Intrinsic | Architecture |
---|---|
__mulh |
x64 |
Header file <intrin.h>
Remarks
This routine is only available as an intrinsic.
Example
// mulh.cpp
// processor: x64
#include <stdio.h>
#include <intrin.h>
#pragma intrinsic (__mulh)
int main()
{
__int64 a = 0x0fffffffffffffffI64;
__int64 b = 0xf0000000I64;
__int64 result = __mulh(a, b); // the high 64 bits
__int64 result2 = a * b; // the low 64 bits
printf_s(" %#I64x * %#I64x = %#I64x%I64x\n",
a, b, result, result2);
}
0xfffffffffffffff * 0xf0000000 = 0xeffffffffffffff10000000