Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Lấy thông tin giới hạn máy cho float với instance trong Python

Để lấy thông tin giới hạn máy (machine limits) cho các kiểu float, dùng numpy.finfo(). Tham số đầu vào là kiểu float (float16, float32, float64) hoặc instance của nó. Trả về object chứa min (giá trị nhỏ nhất) và max (giá trị lớn nhất) của kiểu đó.

Các bước thực hiện

Nhập NumPy:

import numpy as np

Kiểm tra các kiểu float với instance:

# float16
a = np.finfo(np.float16(12.5))
print("Giá trị nhỏ nhất float16...\n", a.min)
print("Giá trị lớn nhất float16...\n", a.max)

# float32
b = np.finfo(np.float32(30.5))
print("\nGiá trị nhỏ nhất float32...\n", b.min)
print("Giá trị lớn nhất float32...\n", b.max)

# float64 (mặc định)
c = np.finfo(np.float64(55.9))
print("\nGiá trị nhỏ nhất float64...\n", c.min)
print("Giá trị lớn nhất float64...\n", c.max)

Ví dụ hoàn chỉnh

import numpy as np

# float16
a = np.finfo(np.float16(12.5))
print("Giá trị nhỏ nhất float16...\n", a.min)
print("Giá trị lớn nhất float16...\n", a.max)

# float32
b = np.finfo(np.float32(30.5))
print("\nGiá trị nhỏ nhất float32...\n", b.min)
print("Giá trị lớn nhất float32...\n", b.max)

# float64
c = np.finfo(np.float64(55.9))
print("\nGiá trị nhỏ nhất float64...\n", c.min)
print("Giá trị lớn nhất float64...\n", c.max)

Kết quả đầu ra

Giá trị nhỏ nhất float16...
 -65500.0
Giá trị lớn nhất float16...
 65500.0

Giá trị nhỏ nhất float32...
 -3.4028235e+38
Giá trị lớn nhất float32...
 3.4028235e+38

Giá trị nhỏ nhất float64...
 -1.7976931348623157e+308
Giá trị lớn nhất float64...
 1.7976931348623157e+308