_umul128
Microsoft'a Özgü
İlk iki bağımsız değişken olarak geçirilen iki 64 bit işaretsiz tamsayıyı çarpar ve ürünün en yüksek 64 bitini işaret ettiği 64 bit işaretsiz tamsayıya HighProduct
yerleştirir ve ürünün düşük 64 bitini döndürür.
Sözdizimi
unsigned __int64 _umul128(
unsigned __int64 Multiplier,
unsigned __int64 Multiplicand,
unsigned __int64 *HighProduct
);
Parametreler
Çarpanı
[in] Çarpmak için ilk 64 bit tamsayı.
Multiplicand
[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 | Üst bilgi |
---|---|---|
_umul128 |
x64 | <intrin.h> |
Örnek
// umul128.c
// processor: x64
#include <stdio.h>
#include <intrin.h>
#pragma intrinsic(_umul128)
int main()
{
unsigned __int64 a = 0x0fffffffffffffffI64;
unsigned __int64 b = 0xf0000000I64;
unsigned __int64 c, d;
d = _umul128(a, b, &c);
printf_s("%#I64x * %#I64x = %#I64x%I64x\n", a, b, c, d);
}
0xfffffffffffffff * 0xf0000000 = 0xeffffffffffffff10000000
END Microsoft'a Özgü
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin