Witam,
mam pytanie, dlaczego dzialanie intrukcji
float x;
x=1/y;
// gdzie y jest wczesniej zdefiniowana liczba typu int, i jest >=1
daje w rezultacie wynik 0 bez liczb po przecinku?
Witam,
mam pytanie, dlaczego dzialanie intrukcji
float x;
x=1/y;
// gdzie y jest wczesniej zdefiniowana liczba typu int, i jest >=1
daje w rezultacie wynik 0 bez liczb po przecinku?
x = (float)1/y;
Jeżeli obydwie liczby są całkowite, to / jest operatorem dzielenia całkowitoliczbowego (odpowiednik div). Jeżeli choć jedna jest typu rzeczywistego (choćby tak jak w przykładzie, przez wymuszenie typu uzyskane), to / jest operatorem zwykłego dzielenia.
Dzieki :)
Tak to bywa kiedy sie przechodzi z Delphi...
Pozdrowka,
Ray