Po co dodawane są sufiksy przy wartościach zmiennych?

0

Po co są dodawane sufiksy przy wartościach zmiennych?
Np:

float currentVelocity = 5.86f; 

Myślałem, że float jest zmiennoprzecinkowy i mogę zadeklarować 5.86. Czyli jak dodam modyfikator to zmieni się typ z float na double? To nie lepiej od razu zadeklarować double?

0

np:

int x=(int)(y/10f);
0
woks napisał(a):

Myślałem, że float jest zmiennoprzecinkowy i mogę zadeklarować 5.86. Czyli jak dodam modyfikator to zmieni się typ z float na double? To nie lepiej od razu zadeklarować double?

Sam literał 5.86 jest typu double, więc musisz dodać sufiks, aby móc przypisać go do zmiennej typu float. Możesz też zadeklarować zmienną jako double, ale jeśli koniecznie potrzebny jest float, to to nie jest rozwiązanie.

1

Zawsze myślałem, że float różni się od double tym, że ten drugi ma po prostu większą pojemność.
Jeżeli nie mogę zapisać 5.86 pod typem float to do czego służy ten typ zmiennych (float)?
Często widziałem w poradnikach jak używano zmiennej float gdzie przy wartości był modyfikator f. Jakie jest praktyczne zastosowanie takich modyfikatorów skoro można użyć od razu zmiennej double?

1

Możesz zapisać 5.86 jako float. Chodzi jedynie o to, że jak w kodzie napiszesz po prostu 5.86, to jest to traktowane jako wartość double, więc piszesz 5.86f, żeby powiedzieć kompilatorowi, że chcesz to jako float.
Zmienna float zajmuje 2x mniej miejsca niż double, czasami to robi różnicę.

0

Właśnie o praktyczne zastosowanie mi chodziło.
Czyli głównie chodzi o to, że przy kompilowaniu bez podania modyfikatora f zmienna float zostanie przekształcona na double co zwiększy zajmowane przez nią miejsce?
Czy to jedyne zastosowanie czy jest coś jeszcze? Pytam tak uparcie bo mam książkę gdzie autor pominą wyjaśnienie tego a często z tego korzysta.

0
woks napisał(a):

Zawsze myślałem, że float różni się od double tym, że ten drugi ma po prostu większą pojemność.

Bo tak jest, a co za tym idzie, zajmuje też dwa razy więcej pamięci.

Jeżeli nie mogę zapisać 5.86 pod typem float to do czego służy ten typ zmiennych (float)?

Możesz. Typ float służy do przeprowadzania obliczeń z mniejszą dokładnością.

Często widziałem w poradnikach jak używano zmiennej float gdzie przy wartości był modyfikator f. Jakie jest praktyczne zastosowanie takich modyfikatorów skoro można użyć od razu zmiennej double?

A jakie jest praktycznie zastosowanie pralki, skoro można użyć lodówki?

Modyfikator f służy do tego, żeby w ogóle skompilować kod, bo kompilator domyślnie przyjmuje liczby dziesiętne jako double i nie pozwala ich wstawić do zmiennych typu float. A mmiennych float używa się, gdy chce się obliczać z mniejszą dokładnością albo dla zaoszczędzenia pamięci.

Czyli głównie chodzi o to, że przy kompilowaniu bez podania modyfikatora f zmienna float zostanie przekształcona na double co zwiększy zajmowane przez nią miejsce?

NIE. To się przecież w ogóle nie skompiluje!

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