Titlul: Stocare infiniti in variabile Scris de: Alexandru-Iancu Caragicu din Februarie 18, 2011, 15:13:31 Am observat de ceva timp o diferenta mare in ceea ce priveste operatiile din C# vs C++.
La overflow, variabilele din C++ intra pe numere negative, in timp ce cele din C# iau valoarea unei constante ce reprezinta infinit. Si de aici toate operatiile de fac corect. INF + const = INF INF - const = INF INF * (-1) = -INF la nedeterminari inca n-am incercat sa vad ce face, dar mi se pare o chestie destul de utila pt proiectele mai mari. Oare operatiile sunt incetinite mult din cauza asta? Stiu ca in C++, nr ies negative pt ca asta obtii daca aplici operatiile, in C# or fi ceva if-uri in cadrul operatiilor ca sa puna valoarea INF? Titlul: Răspuns: Stocare infiniti in variabile Scris de: Sima Cotizo din Februarie 21, 2011, 20:45:51 Ai inf pe double, e util daca vrei sa sortezi dupa tangenta de exemplu. Cred ca daca incerci atan(pi/2) obtii asta. Functioneaza compararea bine, nu sunt sigur insa in priviinta operatiilor.
Titlul: Răspuns: Stocare infiniti in variabile Scris de: Alexandru-Iancu Caragicu din Februarie 22, 2011, 15:34:05 Ai inf pe double, e util daca vrei sa sortezi dupa tangenta de exemplu. Cred ca daca incerci atan(pi/2) obtii asta. Functioneaza compararea bine, nu sunt sigur insa in priviinta operatiilor. si daca pe urma aduni 100 sau scazi 100, ramane INF?Si daca inmultesti cu -1, ajunge -INF? Titlul: Răspuns: Stocare infiniti in variabile Scris de: niculae alexandru din Martie 16, 2011, 23:17:36 trece la ca fiind inf/-inf orice nr care depaseste limita doubel-ului. daca incerci pe urma sa scazi din el sa sa aduni nu se schimba dar daca il inmultesti cu -1 trece la -inf/inf... dar poti sa experimentezi si tu singur singur in mingw;d
Titlul: Răspuns: Stocare infiniti in variabile Scris de: Chibici Tiberiu din Martie 18, 2011, 22:25:27 In C++ exista la tipul de date float/double variabila de tipul NaN (Not a Number), care e mai ciudat.
(de exemplu daca f = NaN, expresia (f != f) are rezultat 'True'). Totusi in C++ poti creea o clasa care sa substituie tipul de date pe care il vrei. Aici e un exemplu foarte simplu: Cod: (c++) class Int La fel pot fi definiti toti ceilalti operatori. (-*/) Pentru produs si diferenta este putin mai delicat, pentru ca poti avea nedeterminari (de exemplu Inf/Inf, 0/0, Inf-Inf etc). |