Определение

Второстепенный тип для хранения чисел с плавающей точкой, почти бесполезный ввиду того, что точность с нецелыми числа - вопрос острый, а память, наоборот, нет. Float занимает всего 32 бита, аналогичен типу int по размерам, хранятся нецелые числа в нем так: 1 !Бит уходит под знак, 8 следующих !Бит уходит на экспоненту, а все оставшиеся 23 на мантиссу и в плане точности это очень плохо. Итоговая формула выглядит так: Где Z - знак числа, M - мантисса, E - экспонента. Маленькие числа хранить в float не проблема, он с ними справится, ведь его точность примерно 8 символов после запятой, но если точность кончится, то лучше перейти на !Double, а лучше сразу на нем писать. С помощью небольшого кода я сравнил точность !Double и float и погрешность примерно 7.4093e-07, что довольно неплохо, но мой эксперимент был для случайных чисел, что может говорить о том, что при больших числах точность резко упадет.

Примеры

#include <bits/stdc++.h>
using namespace std;
int main() {
	float x = double(92) / double(10); // Предполагаемое число 9.2
	cout << setprecision(10) << x; // Выводимое число - 9.199999809
}