_mm_cvtss_si64x

Microsoft-spezifisch

Generiert die erweiterte x64-Version der Anweisung Convert Scalar Single Precision Floating Point Number to 64-Bit Integer (cvtss2si).

Syntax

__int64 _mm_cvtss_si64x(
   __m128 value
);

Parameter

value
[in] Eine __m128 -Struktur, die Gleitkommawerte enthält.

Rückgabewert

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

Anforderungen

Intrinsic Aufbau
_mm_cvtss_si64x x64

Headerdatei< intrin.h>

Hinweise

Das erste Element des Strukturwerts wird in eine ganze Zahl konvertiert und zurückgegeben. Die Rundungssteuerelementbits in MXCSR werden verwendet, um das Rundungsverhalten zu bestimmen. Der Standardmäßige Rundungsmodus ist "round to nearest" (Rundung auf den nächsten Wert), der auf die gerade Zahl gerundet wird, wenn der Dezimalteil 0,5 ist. Da die __m128 -Struktur ein XMM-Register darstellt, nimmt die systeminterne Einen Wert aus dem XMM-Register und schreibt ihn in den Systemspeicher.

Diese Routine ist nur als systeminterne Funktion 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);
}
101

Ende Microsoft-spezifisch

Siehe auch

__m128d
Intrinsische Compilerfunktionen