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

Атрибут min

Атрибут min класса finfo возвращает минимальное представимое конечное число для типа данных с плавающей точкой. В отличие от атрибута tiny, который возвращает наименьшее положительное нормализованное число, min возвращает наименьшее конечное число, которое может быть представлено в данном типе (с учетом знака). Для отрицательных чисел это значение является наибольшим по модулю отрицательным числом, которое еще можно представить без переполнения. Атрибут доступен только для чтения и возвращает число с плавающей точкой.

Синтаксис

finfo.min

Атрибут доступен только для чтения и возвращает число float.

Пример для float32

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

import numpy as np f = np.finfo(np.float32) print("Тип данных:", f.dtype) print("Минимальное значение (min):", f.min) print("Наименьшее положительное (tiny):", f.tiny)

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

Тип данных: float32 Минимальное значение (min): -3.4028235e+38 Наименьшее положительное (tiny): 1.17549435e-38

Минимальное значение для float32 равно примерно -3.4e+38, в то время как наименьшее положительное нормализованное число - примерно 1.18e-38.

Пример для float64

Получим минимальное значение для типа float64:

import numpy as np f = np.finfo(np.float64) print("Тип данных:", f.dtype) print("Минимальное значение (min):", f.min) print("Наименьшее положительное (tiny):", f.tiny)

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

Тип данных: float64 Минимальное значение (min): -1.7976931348623157e+308 Наименьшее положительное (tiny): 2.2250738585072014e-308

Диапазон float64 значительно шире, чем у float32.

Пример проверки выхода за границы

Проверим, что будет при попытке создать число меньше min:

import numpy as np f = np.finfo(np.float32) smallest = f.min print("min float32:", smallest) print("Попытка создать число меньше min:") # Создаем массив с числом меньше минимального try: arr = np.array([smallest * 10], dtype=np.float32) print("Результат:", arr[0]) except Exception as e: print("Ошибка:", e)

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

min float32: -3.4028235e+38 Попытка создать число меньше min: Результат: -inf

При попытке записать число меньше min происходит переполнение, и результатом становится отрицательная бесконечность.

Пример сравнения с max

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

import numpy as np for dtype in [np.float32, np.float64]: f = np.finfo(dtype) print(f"Тип: {dtype}") print(f" min: {f.min}") print(f" max: {f.max}") print()

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

Тип: float32 min: -3.4028234663852886e+38 max: 3.4028234663852886e+38 Тип: float64 min: -1.7976931348623157e+308 max: 1.7976931348623157e+308

Минимальное и максимальное значения симметричны для обоих типов.

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

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