[ Nikolas_bg @ 11.09.2007. 18:41 ] @
Zanima me da li mogu da nateram c++ da mi mi prilikom operacije npr . 6/5 , prikaze 1.2 a ne ceo broj tj. 1 ???
[ Baalzamon @ 11.09.2007. 19:07 ] @
ne razumem se u c++
ali po ovome sto znam iz c-a to hoce da radi ako si deklarisao kao integer.
stavi float ili double, pa vidi da li radi. Ovo govorim za c, ne znam da li je isto i za c++
ili probaj da stavis ovako 6.0/5.0

pa reci ako je pomoglo
[ Nikolas_bg @ 11.09.2007. 21:44 ] @
Pomoglo je . Hvala !
[ Danijel Bulic @ 12.09.2007. 06:47 ] @
Samo stavi float ili long umjesto integer (int)
[ DjoleReject @ 13.09.2007. 14:29 ] @
Mnogo je nacina, evo nekoliko:

6 / 5.0;
6 / (float)5;
6 / 5.0f;
(float)6 / (float)5;
Svuda gde je float, moze biti i double. Najzgodnije je imeniocu dodati .0 i resio si problem...
[ tosa @ 14.09.2007. 03:14 ] @
Ne navikavaj se na double, ako ti BAŠ ne treba :)
[ DjoleReject @ 14.09.2007. 15:22 ] @
toso, ako te ne mrzi, molim te da objasnis ovo sa double-om. Hoce li se napustiti u novom standardu ili...???
Ja sam cuo da se prilikom alokacije memorije, uzima ista velicina bez obzira da li koristis float ili double. To se navodno desava zbog nekih kompajlerskih ubrzavanja kojima je vaznije da elementi budu iste velicine, nego ta usteda koja se dobije razlikom. Iz toga je sledio zakljucak da ako ti je svejedno (i sa stanovista procesorskog vremena i sa stanovista utrosene memorije) koji tip koristis - zasto ne koristiti onaj koji omogucava vecu preciznost.
Ovo sto pisem mi je poodavno rekao asistent u skoli, a posto je inace bio prilicno pouzdan i od pomoci, nisam proveravao ovu tvrdnju.
Ako je to netacno, bio bi mi to veliki eyeopener, jer ja nikad ne koristim float.
[ itf @ 20.09.2007. 08:52 ] @
Svaki realan broj se po defaultu interpretira kao double, a ne kao float. Mnogi su na fakulteti popadali baš na tom pitanju tj. npr. što je 11.7? Točan odgovor: Konstanta tipa DOUBLE. Ne float. 11.7f bi bilo float. Tako da... double koristite i više nego što mislite ;)

Glede izbacivanja iz standarda.... Smatram da bi to bila greška. Ipak je riječ o dvostrukoj preciznosti i puno širem rasponu brojeva da bi ga se samo tako izbacilo. Uostalom, čemu to?
[ DjoleReject @ 20.09.2007. 13:57 ] @
Naravno, upoznat sam s cinjenicom da kad samo stavis tacku dobijes double. Ne toliko zbog skole koliko zbog miliona warninga koje ispravljam kada neka biblioteka trazi float (a posto sam picajzla, ja sve to kastujem da ne bih gledao warninge). Nego sam mislio da tosa ima razlog zasto prica to sto prica, posto meni nije poznat po lupanju napamet, cak naprotiv...
Ali cini se da je on ovaj thread smatrao zavrsenim kad je odgovorio, pa nije ni bitno.
[ itf @ 20.09.2007. 14:58 ] @
Warninzi su samo zbog gubitka preciznosti... što je i razumljivo zbog razlika između float i double. No da umjesto float svugdje koristiš double ne bi imao tih problema.
[ DjoleReject @ 22.09.2007. 03:40 ] @
Pa kao sto sam napisao dva posta vise, upravo to i radim.
[ staticInt @ 22.09.2007. 13:42 ] @
Po meni je najbolje navici se na double i resiti problem.
[ perun_ @ 02.10.2007. 09:49 ] @
Double je ponekad preveliki. Tacno, sa danasnjim stupnjem razvoja memorija nije problem, ali sta ako radis recimo sa smart karticama ili bilo cime drugim gde si veoma ogranicen sto se memorije tice?