Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zapis liczby float (...f)

Ostatnio zmodyfikowano 2011-12-17 18:45
Autor Wiadomość
Savail
Temat założony przez niniejszego użytkownika
Zapis liczby float (...f)
» 2011-12-17 18:22:39
Hej,
Wie ktos jaka jest roznica pomiedzy jakas liczba np. 2.5 a 2.5f? Zauwazylem ze bez dodania f czesto program zle odczytywal wartosc w pewnych momentach...
Bede wdzieczny za kazda pomoc
P-45787
pekfos
» 2011-12-17 18:28:07
2.5 jest domyślnie double. f dodaje się by typem był float.
W podobnym celu używa się -u (by wymusić unsigned), -l (long), itd.
P-45790
Savail
Temat założony przez niniejszego użytkownika
» 2011-12-17 18:33:41
aha dzieki wielkie
P-45792
Savail
Temat założony przez niniejszego użytkownika
» 2011-12-17 18:35:17
a wiec w przyrownywaniu zmiennej jakiegos typu do stalej (np 2.5) zawsze trzeba wymuszac typ stalej taki jaki ma zmienna do ktorej przyrownuje?
P-45794
pekfos
» 2011-12-17 18:38:05
nie zawsze. Problem leży w dokładności. jak masz 1/3.0f to wynik będzie mniej dokładny niż 1/3.0.

0.(3) z dokładnością do n miejsc != 0.(3) z dokładnością do 2n miejsc.
//edit: (dla n>0, oczywiście :P)
P-45795
akwes
» 2011-12-17 18:40:29
C/C++
int main()
{
    double a = 2 / 4;
    double b = 2.f / 4.f;
    std::cout << a << ' ' << b;
    getch();
}

O takie różnice Ci chodzi?


// hoho, ale się grzebałem z postem że tu juz odpowiedzi mnóstwo xD
P-45796
Savail
Temat założony przez niniejszego użytkownika
» 2011-12-17 18:44:39
k dzieki za pomoc ^^
P-45797
pekfos
» 2011-12-17 18:45:15
C/C++
#include <iostream>
int main() {
    double a = 1 / 3.0;
    float b = 1 / 3.0f;
    std::cout << std::boolalpha <<( a == b ) << " (" <<( a - b ) << ")";
}
Taki kod demonstrujący te różnice.
close.
P-45798
« 1 »
  Strona 1 z 1