_mm_cvtss_si64x
Microsoft'a Özgü
Skaler Tek Duyarlıklı Kayan Nokta Sayısını 64 bit Tamsayıya (cvtss2si
) Dönüştür yönergesinin x64 genişletilmiş sürümünü oluşturur.
Sözdizimi
__int64 _mm_cvtss_si64x(
__m128 value
);
Parametreler
value
[in] Kayan __m128
nokta değerleri içeren bir yapı.
Dönüş değeri
64 bit tamsayı, ilk kayan nokta değerinin tamsayıya dönüştürülmesi sonucu.
Gereksinimler
Içsel | Mimari |
---|---|
_mm_cvtss_si64x |
x64 |
intrin.h üst bilgi dosyası<>
Açıklamalar
Yapı değerinin ilk öğesi tamsayıya dönüştürülür ve döndürülür. MXCSR'deki yuvarlama denetimi bitleri, yuvarlama davranışını belirlemek için kullanılır. Varsayılan yuvarlama modu, ondalık bölüm 0,5 ise çift sayıya yuvarlanarak en yakına yuvarlar. __m128
Yapı bir XMM yazmacı temsil ettiğinden, iç XMM yazmacından bir değer alır ve bunu sistem belleğine yazar.
Bu yordam yalnızca iç yordam olarak kullanılabilir.
Örnek
// _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
END Microsoft'a Özgü