HalF-DeaD
16-07-2008, 18:22
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.
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;
Kada krenem izvrsavati program na ekranu dobijem sljedece:
-1474836480
-1474836480
-2e+010
-1474836480
-1474836480
Gdje je greska?
2. Sto znaci ovo "e" u "-2e+010"? Kolko sam skuzio ima veze sa realnim i imaginarnim brojevima, ali ne kuzim sta tocno.
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.
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;
Kada krenem izvrsavati program na ekranu dobijem sljedece:
-1474836480
-1474836480
-2e+010
-1474836480
-1474836480
Gdje je greska?
2. Sto znaci ovo "e" u "-2e+010"? Kolko sam skuzio ima veze sa realnim i imaginarnim brojevima, ali ne kuzim sta tocno.