Атрибут nexp
Атрибут nexp класса finfo возвращает количество битов,
выделенных для хранения экспоненты (порядка) числа с плавающей запятой
в соответствии с форматом IEEE 754. Это значение зависит от типа данных:
для 32-разрядных чисел с плавающей запятой (float32) оно равно 8,
а для 64-разрядных (float64) - 11.
Атрибут полезен для понимания внутреннего представления чисел и
диапазона значений, которые может принимать число.
Синтаксис
import numpy as np
info = np.finfo(dtype)
print(info.nexp)
Где dtype - тип данных с плавающей запятой (например, float32, float64).
Пример
Давайте получим количество бит в экспоненте для 32-разрядного числа:
import numpy as np
info = np.finfo(np.float32)
print(info.nexp)
Результат выполнения кода:
8
Пример
Давайте получим количество бит в экспоненте для 64-разрядного числа:
import numpy as np
info = np.finfo(np.float64)
print(info.nexp)
Результат выполнения кода:
11
Пример
Сравним количество бит в экспоненте для разных типов данных:
import numpy as np
types = [np.float16, np.float32, np.float64, np.longdouble]
for dtype in types:
info = np.finfo(dtype)
print(f"{dtype.__name__}: {info.nexp} bits")
Результат выполнения кода:
float16: 5 bits
float32: 8 bits
float64: 11 bits
float128: 15 bits
Обратите внимание, что количество бит в экспоненте напрямую влияет на максимальное и минимальное значение, которое может хранить число.