-2e+010
to je znanstvena notacija, čita se kao <broj_ispred_e> * 10^ <broj_iza_e>
i to je ujedno ispravan rezultat, kod ostalih dolazi do numeričkog preljeva pa je zato rezultat netočan
Evo i mene pokusavam uciti C++
Imam Visual C++ 2008 EE, pratim knjigu Demistificirani C++ (2. izdanje) i imam par pitanja.
1. Zadatak ide ovako:
Odredite koje ce od navedenih naredbi za ispis dati ispravan umnozak, tj. 20 000 000 000.
Kada krenem izvrsavati program na ekranu dobijem sljedece:Code:int a = 100000; int b = 200000; long c = a * b; cout << c << endl; cout << (a * b) << endl; cout << (static_cast<float>(a) * b) << endl; cout << static_cast<long>(a * b) << endl; cout << (a * static_cast<long>(b)) << endl;
Gdje je greska?-1474836480
-1474836480
-2e+010
-1474836480
-1474836480
2. Sto znaci ovo "e" u "-2e+010"? Kolko sam skuzio ima veze sa realnim i imaginarnim brojevima, ali ne kuzim sta tocno.
Bow down before the one you serve, you're going to get what you deserve.
-2e+010
to je znanstvena notacija, čita se kao <broj_ispred_e> * 10^ <broj_iza_e>
i to je ujedno ispravan rezultat, kod ostalih dolazi do numeričkog preljeva pa je zato rezultat netočan
The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
<3 <3 <3 <3 <3 <3 <3
ŠIRI SA MNOM LJUBAV Cherry!
@HalF-DeaD
Maksimalan broj koji se sa int tj. long može prikazati jest 2147483647 a preko toga ide se u preljev, tj. u negativno područje. S druge strane, float tip ima proširenje do 3.4E +/- 38 i zato se preko treće opcije (float) može točno prikazati rezultat.
Inače, u ovakvim slučajevima se koristi 64 bitni integer tj.
koji je u ovom slučaju najtočnije rješenje a i po zadanom formatu.Code:cout << (a * static_cast<long long>(b)) << endl;
Puno hvala na odgovorima. Sad imam jos dva pitanja.
1. Zar nebi onda -2e+010 trebalo biti -20 000 000 000?
2. Zasto je ovdje 010 (oktalno 8) umjesto 10?
Bow down before the one you serve, you're going to get what you deserve.
meni prevoditelj daje 2e+10
The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
<3 <3 <3 <3 <3 <3 <3
ŠIRI SA MNOM LJUBAV Cherry!