_mm_cvtss_si64x_mm_cvtss_si64x

Specyficzne dla firmy MicrosoftMicrosoft Specific

Generuje rozszerzoną wersję x64 liczby zmiennoprzecinkowej konwersji skalarnej o pojedynczej precyzji do 64-bitowej liczby całkowitej ( cvtss2si ).Generates the x64 extended version of the Convert Scalar Single Precision Floating Point Number to 64-bit Integer (cvtss2si) instruction.

SkładniaSyntax

__int64 _mm_cvtss_si64x(
   __m128 value
);

ParametryParameters

wartościamivalue
podczas __m128 Struktura zawierająca wartości zmiennoprzecinkowe.[in] An __m128 structure containing floating point-values.

Wartość zwracanaReturn value

64-bitowa liczba całkowita, wynik konwersji pierwszej wartości zmiennoprzecinkowej na liczbę całkowitą.A 64-bit integer, the result of the conversion of the first floating-point value to an integer.

WymaganiaRequirements

WewnętrznejIntrinsic ArchitekturaArchitecture
_mm_cvtss_si64x x64x64

Plik nagłówka<intrin.h>Header file <intrin.h>

UwagiRemarks

Pierwszy element wartości struktury jest konwertowany na liczbę całkowitą i zwracany.The first element of the structure value is converted to an integer and returned. Bity sterujące zaokrąglaniem w MXCSR są używane do określania zachowania zaokrąglania.The rounding control bits in MXCSR are used to determine the rounding behavior. Domyślny tryb zaokrąglania jest zaokrąglany do najbliższe, zaokrąglanie do liczby parzystej, jeśli część dziesiętna to 0,5.The default rounding mode is round to nearest, rounding to the even number if the decimal part is 0.5. Ponieważ __m128 Struktura reprezentuje rejestr XMM, wewnętrzna przyjmuje wartość z rejestru XMM i zapisuje ją w pamięci systemowej.Because the __m128 structure represents an XMM register, the intrinsic takes a value from the XMM register and writes it to system memory.

Ta procedura jest dostępna tylko jako wewnętrzna.This routine is only available as an intrinsic.

PrzykładExample

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

ZAKOŃCZENIE określonych przez firmę MicrosoftEND Microsoft Specific

Zobacz teżSee also

__m128d__m128d
Funkcje wewnętrzne kompilatoraCompiler intrinsics