_mul128
Microsoft'a Özgü
İlk iki bağımsız değişken olarak geçirilen iki 64 bit tamsayıyı çarpar ve ürünün en yüksek 64 bitini işaret ettiği 64 bitlik tamsayıya HighProduct
yerleştirir ve ürünün düşük 64 bitini döndürür.
Sözdizimi
__int64 _mul128(
__int64 Multiplier,
__int64 Multiplicand,
__int64 *HighProduct
);
Parametreler
Çarpan
[in] Çarpmak için ilk 64 bit tamsayı.
Çarpılan
[in] Çarpmak için ikinci 64 bit tamsayı.
HighProduct
[out] Ürünün yüksek 64 biti.
Dönüş değeri
Ürünün düşük 64 biti.
Gereksinimler
Içsel | Mimari |
---|---|
_mul128 |
x64 |
intrin.h üst bilgi dosyası<>
Örnek
// 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);
}
0xfffffffffffffff * 0xf0000000 = 0xeffffffffffffff10000000
END Microsoft'a Özgü