Partager via


_mul128

Section spécifique à Microsoft

Multiplie deux entiers 64 bits passés comme les deux premiers arguments, place les 64 bits de poids fort du produit dans l’entier 64 bits vers lequel pointe HighProduct et retourne les 64 bits de poids faible du produit.

Syntaxe

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

Paramètres

Multiplicateur
[in] Premier entier 64 bits à multiplier.

Multiplicand
[in] Deuxième entier 64 bits à multiplier.

HighProduct
[out] Les 64 bits élevés du produit.

Valeur retournée

64 bits de poids faible du produit.

Spécifications

Intrinsic Architecture
_mul128 x64

Fichier<d’en-tête intrin.h>

Exemple

// 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

FIN de la section spécifique à Microsoft

Voir aussi

Intrinsèques du compilateur