РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
457 of 541 menu

Атрибут smallest_normal класса finfo

Атрибут smallest_normal класса finfo возвращает минимальное нормализованное положительное число с плавающей точкой для указанного типа данных. Атрибут доступен только для чтения. Нормализованные числа имеют полную точность, в отличие от денормализованных. Значение зависит от количества бит, выделенных для экспоненты и мантиссы.

Синтаксис

np.finfo(dtype).smallest_normal

Пример

Получим минимальное нормализованное число для типа float32:

import numpy as np min_norm = np.finfo(np.float32).smallest_normal print("smallest_normal for float32:", min_norm)

Результат выполнения кода:

smallest_normal for float32: 1.1754943508222875e-38

Пример

Сравним smallest_normal и tiny для float32:

import numpy as np info = np.finfo(np.float32) print("smallest_normal:", info.smallest_normal) print("tiny:", info.tiny)

Результат выполнения кода:

smallest_normal: 1.1754943508222875e-38 tiny: 1.1754943508222875e-38

Пример

Сравним smallest_normal для разных типов с плавающей точкой:

import numpy as np types = [np.float16, np.float32, np.float64] print("smallest_normal values:") for t in types: print(f"{t.__name__}: {np.finfo(t).smallest_normal}")

Результат выполнения кода:

smallest_normal values: float16: 6.103515625e-05 float32: 1.1754943508222875e-38 float64: 2.2250738585072014e-308

Пример

Использование smallest_normal для проверки на денормализованные числа:

import numpy as np dtype = np.float32 info = np.finfo(dtype) values = np.array([1e-40, info.smallest_normal, 1.0], dtype=dtype) for val in values: if 0 < val < info.smallest_normal: print(f"{val} is denormalized") else: print(f"{val} is normalized or zero")

Результат выполнения кода:

1e-40 is denormalized 1.1754943508222875e-38 is normalized or zero 1.0 is normalized or zero

Смотрите также

  • атрибут tiny,
    который возвращает минимальное положительное число
  • атрибут min,
    который возвращает минимальное конечное число
  • атрибут eps,
    который возвращает машинную точность
  • атрибут epsneg,
    который возвращает отрицательную машинную точность
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить