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

typy zmiennych, dzielenie

2015-01-13 18:05
annna
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;
}

Pozostało 580 znaków

2015-01-13 18:11
1

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

edytowany 1x, ostatnio: Zellus, 2015-01-13 18:12

Pozostało 580 znaków

2015-01-13 18:16
annna
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?

Pozostało 580 znaków

2015-01-13 18:18
1
#include <iostream>

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

    return 0;
}

Pozostało 580 znaków

2015-01-13 19:08
0

Jak wyżej lub tak:

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

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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