Подтвердить что ты не робот

Разделение двух целых чисел для получения результата поплавка

Возможный дубликат:
Почему я не могу вернуть двойной из двух разделяемых ints

Моя программа на С++ усекает вывод моего целочисленного элемента даже тогда, когда я пытаюсь поместить вывод в float. Как я могу предотвратить это, сохраняя эти переменные (a и b) целыми числами?

[email protected]:~/c/precision$ cat precision.cpp
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
  int a = 10, b = 3;
  float ans = (a/b);
  cout<<fixed<<setprecision(3);
  cout << (a/b) << endl;
  cout << ans << endl;
  return 0;
}

[email protected]:~/c/precision$ g++ -o precision precision.cpp 
[email protected]:~/c/precision$ ./precision 
3
3.000
4b9b3361

Ответ 1

Переместить операнды в float:

float ans = (float)a / (float)b;