Вещественные числа
В программировании числа классифицируются прежде всего на целые (
integer
, тип
int
в Python) и вещественные (тип
float
).
Чтобы определить тип переменной в Python, можно использовать встроенную функцию
type()
:
name = "Ivan" # строка "Ivan"
print(type(name)) # на экране будет <class 'str'>
n = 5 # целое число
print(type(n)) # <class 'int'>
r = 5.0 # вещественное число
print(type(r)) # <class 'float'>
В программировании вещественными числами называются числа, которые имеют в своей записи десятичную точку. Разделителем целой и дробной частей является точка, а не запятая, как в математике.
В Python вещественные числа представляются числами с плавающей запятой (тип данных
float
). Они могут быть положительными, отрицательными или равны нулю. Python использует стандарт IEEE 754 для представления вещественных чисел.
Даже если дробная часть равна нулю, транслятор Python всё равно создаст в памяти вещественную переменную. Это происходит потому, что в записи числа есть десятичная точка! Для транслятора это является сигналом, что необходимо создать вещественную переменную.
Практически все вещественные числа не могут храниться в памяти компьютера с идеальной точностью, поскольку под их хранение выделяется ограниченное число бит. Поэтому при вычислениях с вещественными числами ошибки, связанные с неточностью представления, накапливаются, и чем меньше места выделено, тем больше будет ошибка.
Показателен следующий программный код, который показывает неточность хранения вещественных чисел в памяти компьютера
print(0.1 + 0.1 + 0.1 - 0.3) # 5.551115123125783e-17,
# а не ноль, как ожидалось