Es wird empfohlen, Visual Studio 2017 zu verwenden

_mm_cvttss_si64x

 

Veröffentlicht: Juli 2016

Die neueste Dokumentation zu Visual Studio 2017 finden Sie unter Dokumentation zu Visual Studio 2017.

Microsoft-spezifisch

Gibt die x64 erweiterte Version des mit einfacher Genauigkeit konvertiert werden soll Abschneiden-Gleitkommawert mit der Anweisung ancvttss2si(64-Bit-Ganzzahl) ab.

__int64 _mm_cvttss_si64x(   
   __m128 value   
);  

Parameter

[in] value
Eine __m128 Struktur mit Gleitkommazahlen mit einfacher Genauigkeit enthält.

Das Ergebnis der Konvertierung des ersten Gleitkommazahl in eine 64-Bit-Ganzzahl.

IntrinsischArchitektur
_mm_cvttss_si64xx64

Headerdatei <intrin.h>

Das systeminterne unterscheidet sich von _mm_cvtss_si64x nur dadurch, dass ungenaue Konvertierungen in Richtung Null abgeschnitten werden. Da die __m128 Struktur ein XMM-Register darstellt, richtet die generierte Anweisung Daten aus einem XMM-Register im Systemspeicher.

Diese Routine ist als systeminterne Funktion nur verfügbar.

// _mm_cvttss_si64x.cpp  
// processor: x64  
#include <intrin.h>  
#include <stdio.h>  
  
#pragma intrinsic(_mm_cvttss_si64x)  
  
int main()  
{  
    __m128 a;  
    __int64 b = 54;  
  
    // _mm_load_ps requires an aligned buffer.  
    __declspec(align(16)) float af[4] = { 101.5, 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_cvttss_si64x(a);  
  
    printf_s("%I64d\n", b);  
}  

101

__m128
Intrinsische Compilerfunktionen

Anzeigen: