Udostępnij za pośrednictwem


Obsługa liczb zmiennoprzecinkowych

Wiele funkcji biblioteki wykonawczej Microsoft wymagają obsługi zmiennoprzecinkowych z Koprocesor lub zmiennoprzecinkowa biblioteki, które towarzyszyć kompilator.Funkcje obsługi zmiennoprzecinkowe są ładowane tylko wtedy, gdy jest to wymagane.

Jeśli używana Specyfikator typu zmiennoprzecinkowych w formacie ciągu po wywołaniu funkcji w printf lub scanf rodziny, określ wartość zmiennoprzecinkowa lub wskaźnik do wartości zmiennoprzecinkowych na liście argumentów po kompilator obsługujące zmiennoprzecinkowa jest wymagany.

Przykładowy kod przedstawia sposób obsługi wyjątków zmiennoprzecinkowych, zobacz _fpieee_flt.

Dokładność zmiennoprzecinkowych wartości pośrednich są kontrolowane przez funkcje _control87, _controlfp, __control87_2.Domyślnie dokładności kontrolować w _controlfp ma ustawioną wartość 53 bitów (_PC_53).Łączenie się za pomocą FP10.OBJ. zmienia domyślne precyzyjną kontrolę 64 bity (_PC_64).W wierszu polecenia Łączenie, FP10.OBJ. musi pojawić się przed LIBC.BIBLIOTEKA, LIBCMT.Biblioteka lub MSVCRT.BIBLIOTEKA.

Funkcje zmiennoprzecinkowa

Procedura

Zastosowanie

Odpowiednik w programie .NET framework

abs

Zwraca wartość bezwzględnąint

System::Math::ABS

acos, acosf

Oblicz cosinus

System::Math::ACOS

asin, asinf

Oblicz sinus

System::Math::ASIN

atan, atanf, atan2, atan2f

Oblicz tangens

System::Math::ATAN, System::Math::Atan2

atof, _atof_l, _wtof, _wtof_l

Konwertuj ciąg znaków na wartość zmiennoprzecinkowa podwójnej precyzji

System::CONVERT::ToSingle, System::Convert::ToDouble

funkcje Bessela

Obliczenia funkcji Bessela _j0, _j1, _jn, _y0, _y1,_yn

Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołań platformy.

_cabs

Znajdź wartość bezwzględną liczby złożonych

Nie dotyczy.

cbrt

Obliczyć pierwiastek sześcienny

Nie dotyczy.

ceil, ceilf

Znajdź ceiling liczba całkowita

System::Math::CEILING

_chgsign, _chgsignf, _chgsignl

Zmień znak podwójnej precyzji zmiennoprzecinkowych lub długo podwójnej precyzji argumentu zmiennoprzecinkowa

Nie dotyczy.

_clear87, _clearfp

Pobierz i Wyczyść stan zmiennoprzecinkowych słowa

Nie dotyczy.

_control87, _controlfp, __control87_2, _controlfp_s

Pobieranie stary word zmiennoprzecinkowych kontroli i Ustawianie nowej wartości kontroli słowa

Nie dotyczy.

copysign, copysignf, copysignl, _copysign, _copysignf, _copysignl

Zwraca jedną wartość znakiem innego

Nie dotyczy.

cos, cosf, cosh, coshf

Obliczyć cosinus

System::Math::cos, System::Math::Cosh

difftime

Obliczenia różnicy pomiędzy dwiema wartościami określonego czasu:

System::DateTime:: odejmowanie

div

Podziel jeden argument przez innego, zwracając iloraz i reszta

Nie dotyczy.

_ecvt, _ecvt_s

Konwertuj double ciąg znaków o określonej długości.

System::CONVERT::toString

exp, expf

Obliczenia funkcji wykładniczej

System::Math::EXP

fabs, fabsf

Znajdź wartość bezwzględną

System::Math::ABS

_fcvt,_fcvt_s

Konwertuj double ciąg została określona liczba cyfr zgodne z punktu dziesiętnego

System::CONVERT::toString

_finite

Określić, czy dany skończonego jest wartość zmiennoprzecinkowa podwójnej precyzji

System::double::IsInfinity

floor, floorf

Znajdź największą liczbą całkowitą mniejszą lub równą argumentu

System::Math::Floor

fmod, fmodf

Znajdź reszta zmiennoprzecinkowa

System::Math::IEEERemainder

_fpclass

Stan zwrotu word, zawierający informacje o zmiennoprzecinkowych klasy

System::double::IsInfinity, System::Double::IsNegativeInfinity, System::Double::IsPositiveInfinity, System::Double::IsNan

_fpieee_flt

Wywołania obsługi pułapki zdefiniowane przez użytkownika dla IEEE zmiennoprzecinkowych wyjątków

Nie dotyczy.

_fpreset

Ponownie zainicjować pakietu zmiennoprzecinkowych math

 

frexp

Obliczenia wartości wykładniczej

Nie dotyczy.

_gcvt,_gcvt_s

Konwertowanie wartości zmiennoprzecinkowych na ciąg znaków

System::CONVERT::toString

hypot, hypotf, hypotl, _hypot, _hypotf, _hypotl

Oblicz przeciwprostokątnej trójkąta w prawo

Nie dotyczy.

_isnan

Podana wartość zmiennoprzecinkowa podwójnej precyzji dla nie liczbami wyboru

System::double::IsNan

labs

Zwraca wartość bezwzględnąlong

System::Math::ABS

ldexp

Obliczanie iloczynu argument i 2oczekiwane (określono zasilania)

System::Math::Pow

ldiv

Podział jednej long i liczby całkowitej przez inny i zwrotu iloraz reszta

Nie dotyczy.

log, logf, log10, log10f

Obliczanie logarytmu naturalnego lub dziesiętny.

System::Math::log, System::Math::Log10

_logb

Wyodrębnij wykładniczej wartość argumentu zmiennoprzecinkowa podwójnej precyzji

Nie dotyczy.

_lrotl, _lrotr

SHIFT unsigned long int po lewej (_lrotl) lub w prawo (_lrotr)

Nie dotyczy.

_matherr

Obsługi błędów math

Nie dotyczy.

__max

Zwraca większa z dwóch wartości

System::Math::Max

__min

Zwraca mniejszej z dwóch wartości

System::Math::min

modf, modff

Podziel argument na liczbę całkowitą i części ułamkową

Nie dotyczy.

nan, nanf, nanl

Zwraca wartości NaN quiet

System::double::NaN

_nextafter

Zwraca następny reprezentować sąsiada

Nie dotyczy.

pow, powf

Obliczenia wartości do potęgi.

System::Math::Pow

printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

Dane do zapisania stdout zgodnie z określonym formacie

System::Console::Write, System::Console::WriteLine

RAND,rand_s

Pobierz numer pseudolosowego

Klasa System::Random

rint, rintf, rintl

Zaokrąglona do najbliższej liczby całkowitej w formacie zmiennoprzecinkowych.

System::Math::round

_rotl, _rotr

SHIFT unsigned int po lewej (_rotl) lub w prawo (_rotr)

Nie dotyczy.

_scalb

Argument skali siły 2

Nie dotyczy.

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl

Pomnożone przez integralną możliwościFLT_RADIX

Nie dotyczy.

scanf, wscanf,scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

Odczytywanie danych z stdin zgodnie z określonym formacie i zapis danych do określonej lokalizacji

System::Console::Read, System::Console::ReadLine

_set_controlfp

Ustaw nową wartość kontroli słowa

Nie dotyczy.

sin, sinf, sinh, sinhf

Obliczanie sinusa lub sinus hiperboliczny

System::Math::sin, System::Math::Sinh

sqrt

Znajdź pierwiastek kwadratowy

System::Math::SQRT

srand

Inicjowanie serii pseudolosowego

Klasa System::Random

_status87, _statusfp, _statusfp2

Pobierz stan zmiennoprzecinkowych słowa

Nie dotyczy.

strtod, _strtod_l, wcstod, _wcstod_l

Konwertuj ciąg znaków na wartość o podwójnej precyzji

System::CONVERT::ToDouble

tan, tanf, tanh, tanhf

Obliczanie tangens lub tangens hiperboliczny

System::Math::tan, System::Math::Tanh

Zobacz też

Informacje

Procedury czasu wykonywania według kategorii