C++ problem z dzieleniem

0

Witam.
Mam kompilator Borland Builder 6 zainstalowany pod Windows 7.
Jak napiszę:
float temp;
temp=(100/150);
to w zmiennej temp mam zapisaną wartość = 0 a nie 0,666...
Jeżeli zapiszę zmiennąprzecinkową wartość bezpośrednio do zmiennej temp jest OK.
Ta sama dziwna rzecz dzeieje się także jak zmienna tem jest typu double.
Nie znam przyczyny tego dziwactwa..... HELP / Adam

0

dzielenie int przez int daje wynik int. Spróbuj 100.0/150.0

0

Dzielisz dwie liczby całkowite, więc wynik też jest liczbą całkowitą. Wystarczy, że zrzutujesz jeden ze składników dzielenia na float.

0

Dzięki, pomogło ale to tylko w C++ bo próbowałem spod Delphi 7 i było ok bez konwersji na float.
Jeszcze raz dzięki. Pozdrawiam.

0

Bo Pascal zwraca wynik dzielenia zawsze jako real. W C i pochodnych już nie jest tak fajnie. Ogólnie Pascal to chyba jedyny język ogólnego zastosowania, który oferuje coś takiego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1