_mm_cvtss_si64x_mm_cvtss_si64x

Específicos de MicrosoftMicrosoft Specific

Genera la versión extendida de x64 del número de punto flotante de precisión sencilla escalar a la instrucción entera de 64 bits ( cvtss2si ).Generates the x64 extended version of the Convert Scalar Single Precision Floating Point Number to 64-bit Integer (cvtss2si) instruction.

SintaxisSyntax

__int64 _mm_cvtss_si64x(
   __m128 value
);

ParámetrosParameters

valorvalue
de __m128 Estructura que contiene los valores de punto flotante.[in] An __m128 structure containing floating point-values.

Valor devueltoReturn value

Entero de 64 bits, el resultado de la conversión del primer valor de punto flotante en un entero.A 64-bit integer, the result of the conversion of the first floating-point value to an integer.

RequisitosRequirements

IntrinsicIntrinsic ArchitectureArchitecture
_mm_cvtss_si64x x64x64

Archivo de encabezado <intrin.h>Header file <intrin.h>

ObservacionesRemarks

El primer elemento del valor de la estructura se convierte en un entero y se devuelve.The first element of the structure value is converted to an integer and returned. Los bits de control de redondeo de MXCSR se usan para determinar el comportamiento de redondeo.The rounding control bits in MXCSR are used to determine the rounding behavior. El modo de redondeo predeterminado es redondear a la más cercana, redondeando al número par si la parte decimal es 0,5.The default rounding mode is round to nearest, rounding to the even number if the decimal part is 0.5. Dado que la __m128 estructura representa un registro XMM, el intrínseco toma un valor del registro XMM y lo escribe en la memoria del sistema.Because the __m128 structure represents an XMM register, the intrinsic takes a value from the XMM register and writes it to system memory.

Esta rutina solo está disponible como función intrínseca.This routine is only available as an intrinsic.

EjemploExample

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

FIN de Específicos de MicrosoftEND Microsoft Specific

Vea tambiénSee also

__m128d__m128d
Intrínsecos del controladorCompiler intrinsics