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.

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

Paramètres

  • [in] Multiplier
    Premier entier de 64 bits à multiplier.

  • [in] Multiplicand
    Second entier de 64 bits à multiplier.

  • [out] HighProduct
    64 bits de poids fort du produit.

Valeur de retour

64 bits de poids faible du produit.

Configuration requise

Intrinsèque

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);
}
  

Voir aussi

Référence

intrinsèques du compilateur