Typ int oraz double
Ostatnio zmodyfikowano 2015-11-02 02:03
lukasz427 Temat założony przez niniejszego użytkownika |
Typ int oraz double » 2015-11-01 17:06:48 Witam. Mam problem ze zrozumieniem dzialania bardzo prostego programu. Oto on.Program banalny..Chodzi mi o to aby komputer obliczal wynik z dokladnoscia dziesietna.Wynik jest typu DOUBLE jenak kompilator "ucina" dziesietna czesc wyniku.np. Podaje 56.Oczekuje wyniku 5.6 tymczasem jest 5.Nie rozumiem tu czegos przeciez okreslilem ze wynik ma byc typu DOUBLE? #include<iostream>
int main() { int licznik; int manownik = 10; std::cout << "Podaj licznik"; std::cin >> licznik; double wynik = licznik / 10; std::cout << "Wynik wynosi" << wynik << ""; }
Problem znika jesli zadeklaruje nazwe LICZNIK rowniez typem DOUBLE zamiast INT.Wtedy jest tak jakbym tego oczekiwal.Program oblicza wynik z dokladnoscia po przecinku.Przykladowe 56/10=5.6. Moje pytanie brzmi .Dlaczego musze deklarowac licznik rowniez typem DOUBLE(tak samo jak wynik)? -podaje tylko liczby calkowite w liczniku. Z gory bardzo dziekuje Lukasz |
|
RazzorFlame |
» 2015-11-01 17:37:39 double/int = int double/float = float double/double = double int/double = doubleitd.. czyli: double foo = 15; cout << foo / 2 << endl; cout << foo / 2.0 << endl; cout << foo / 2.0f << endl;
|
|
Monika90 |
» 2015-11-01 17:54:47 Dla double/int i double/float wynikiem też będzie double. |
|
carlosmay |
» 2015-11-01 20:28:04 int a = 56; double wyn; wyn = a /( double ) 10; cout << wyn << endl;
wynik dzielenia dwóch liczb całkowitych promuje wynik do liczby całkowitej. W tej sytuacji trzeba jawnie określić literał liczbowy do ( double ) 10 lub jak w przykładzie wyżej lub 'a' zadeklarować jako double . |
|
RazzorFlame |
» 2015-11-01 21:26:17 |
|
lukasz427 Temat założony przez niniejszego użytkownika |
» 2015-11-02 02:03:17 Dzieki bardzo.Troche sie nad tym glowilem:) |
|
« 1 » |