Wpis z mikrobloga

C++ jest dziwny. Robię chyba totalne podstawy, wiec proszę bez heheszków. A teraz proszę o wytłumaczenie dlaczego...

3/4*M_PI*r*r*r = 0

a

3*M_PI*r*r*r/4 = 2.35619 ?!

Wszystko to siedzi w 'cout'

#programowanie
  • 10
  • Odpowiedz
@IreuN: 3/4, dzielenie całkowitej przez całkowitą jest zaokrąglane w dół, 3/4 = 0.75 = 0, cokolwiek mnożysz przez zero daje zero.

spróbuj (float)3/4*M_PI\*r\*r\*r
  • Odpowiedz
@IreuN: Wystarczy nawet tylko dopisanie kropki po 3: 3./4*M_PI*r*r*r = 0 - definiuje ona liczbę zmiennoprzecinkową, a typ pierwszej liczby od lewej w działaniu definiuje wynik danego działania. Więc wynik będzie liczbą zmiennoprzecinkową.
  • Odpowiedz