Что такое тип данных float (число с плавающей запятой)?

«Что такое тип данных float (число с плавающей запятой)?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Float (число с плавающей запятой) — это тип данных для представления вещественных (дробных) чисел в компьютере. Он хранит число в виде мантиссы и порядка (экспоненты), что позволяет оперировать очень большими и очень маленькими значениями, но с ограниченной точностью.

Ключевые особенности и проблемы:

  • Ограниченная точность: Число представляется конечным набором бит (обычно 32 или 64), что приводит к ошибкам округления.
  • Не подходит для точных расчетов: Например, для финансовых операций, где важна точность до копейки, используют десятичные типы (Decimal в Python, BigDecimal в Java).
  • Сравнение: Прямое сравнение (==) ненадежно из-за погрешностей.

Пример (Python):

# Классическая ошибка округления
result = 0.1 + 0.2
print(result)  # Вывод: 0.30000000000000004
print(result == 0.3)  # Вывод: False

# Правильное сравнение с учетом погрешности
epsilon = 1e-10
print(abs(result - 0.3) < epsilon)  # Вывод: True

Почему это важно: Понимание природы float критично для избежания ошибок в научных вычислениях, графике, игровых движках и любых задачах, требующих работы с дробными числами.