__umulh
Specifické pro Microsoft
Vrátí vysoký počet 64 bitů produktu se dvěma 64bitovými celými čísly bez znaménka.
Syntaxe
unsigned __int64 __umulh(
unsigned __int64 a,
unsigned __int64 b
);
Parametry
a
[v] První číslo, které se má vynásobit.
b
[v] Druhé číslo, které se má vynásobit.
Vrácená hodnota
Vysoký 64 bitů 128bitového výsledku násobení.
Požadavky
Vnitřní | Architektura |
---|---|
__umulh |
x64, ARM64 |
Hlavičkový soubor<intrin.h>
Poznámky
Tyto rutiny jsou k dispozici pouze jako vnitřní objekty.
Příklad
// umulh.cpp
// processor: X64
#include <cstdio>
#include <intrin.h>
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%016I64x * 0x%016I64x = 0x%016I64x_%016I64x \n", i, j, result, k);
return 0;
}
0x0000000000000010 * 0xfedcba9876543210 = 0x000000000000000f_edcba98765432100
END Microsoft Specific