Wątek przeniesiony 2015-01-14 10:28 z C/C++ przez ŁF.

typy zmiennych, dzielenie

0

dlaczego taki kod po wpisaniu a=6, b=5 daje wynik 1 skoro wynik jest typem float czyli zmiennoprzecinkowy?

#include <iostream>

using namespace std;
int a,b;
float c;
int main()
{
    cin >> a;
    cin >> b;
    c=a/b;
    cout<< "=" <<c;
    return 0;
}
1

Tak jest ponieważ dzielisz int przez int, otrzymując kolejny int. Dopiero po wykonaniu tej operacji, otrzymana wartość jest rzutowana na float.

0

a jeśli będę dzielił np. double przez int i w wyniku chcę float, to jaki typ będzie mi rzutowało na float po wykonaniu dzielenia?

1
#include <iostream>

int main()
{
    int a = 5, b = 2;
    std::cout << (double)(a) / b;
    
    return 0;
}
0

Jak wyżej lub tak:

   std::cout<<a/(double)b;

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