Freigeben über


_mm_cvtss_si64x

Microsoft-spezifisch

Generiert die x64 erweiterte Version der Bekehrt-skalaren einfache Genauigkeits-Gleitkommazahl der Anweisung der 64-Bit-Ganzzahl (cvtss2si).

__int64 _mm_cvtss_si64x( 
   __m128 value 
);

Parameter

  • [in] value
    Eine __m128-Struktur mit Gleitkommazahlen enthält.

Rückgabewert

Eine 64-Bit-Ganzzahl, das Ergebnis der Konvertierung des ersten Gleitkommazahl in eine ganze Zahl.

Anforderungen

Intrinsisch

Architektur

_mm_cvtss_si64x

x64

Headerdatei <intrin.h>

Hinweise

Das erste Element des Werts wird Struktur in eine ganze Zahl konvertiert und zurückgegeben. Die abgerundeten Steuerbite in MXCSR werden verwendet, um das Rundungsverhalten zu bestimmen. Der standardmäßige gerundete Modus befindet und sich um zur gerade Zahl gerundet, wenn der dezimale Teil 0.5 ist. Da die __m128-Struktur ein XMM-Register darstellt, nimmt diese systeminterne Funktion einen Wert vom XMM-Register und schreibt ihn auf den Systemspeicher.

Diese Routine ist als systeminterne Funktion nur verfügbar.

Beispiel

// _mm_cvtss_si64x.cpp
// processor: x64
#include <intrin.h>
#include <stdio.h>

#pragma intrinsic(_mm_cvtss_si64x)

int main()
{
    __m128 a;
    __int64 b = 54;

    // _mm_load_ps requires an aligned buffer.
    __declspec(align(16)) float af[4] =
                           { 101.25, 200.75, 300.5, 400.5 };

    // Load a with the floating point values.
    // The values will be copied to the XMM registers.
    a = _mm_load_ps(af);

    // Extract the first element of a and convert to an integer
    b = _mm_cvtss_si64x(a);

    printf_s("%I64d\n", b);
}
  

Siehe auch

Referenz

__m128d

Intrinsische Compilerfunktionen