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

Lấy số bit trong phần mũ của biểu diễn số thực trong Python


Để lấy số bit trong phần mũ của biểu diễn số thực dấu phẩy động, hãy sử dụng thuộc tính iexp của phương thức numpy.finfo() trong NumPy Python. Tham số đầu tiên là kiểu float, tức là kiểu dữ liệu float cần lấy thông tin.

Các bước

Trước tiên, nhập thư viện cần thiết:

import numpy as np

Kiểm tra kiểu float16. Thuộc tính iexp trả về số bit trong phần mũ. min là giá trị nhỏ nhất của kiểu dữ liệu, max là giá trị lớn nhất:

a = np.finfo(np.float16(45.9))
print("Số bit phần mũ kiểu float16...\n", a.iexp)
print("Giá trị nhỏ nhất kiểu float16...\n", a.min)
print("Giá trị lớn nhất kiểu float16...\n", a.max)

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

b = np.finfo(np.float32(22.3))
print("\nSố bit phần mũ kiểu float32...\n", b.iexp)
print("Giá trị nhỏ nhất kiểu float32...\n", b.min)
print("Giá trị lớn nhất kiểu float32...\n", b.max)

Kiểm tra kiểu float64 (float mặc định) với các instance:

c = np.finfo(np.float64(29.2))
print("\nSố bit phần mũ kiểu float64...\n", c.iexp)
print("Giá trị nhỏ nhất kiểu float64...\n", c.min)
print("Giá trị lớn nhất kiểu float64...\n", c.max)

Ví dụ hoàn chỉnh

import numpy as np
# Lấy số bit phần mũ của biểu diễn số thực
a = np.finfo(np.float16(45.9))
print("Số bit phần mũ kiểu float16...\n", a.iexp)
print("Giá trị nhỏ nhất kiểu float16...\n", a.min)
print("Giá trị lớn nhất kiểu float16...\n", a.max)

b = np.finfo(np.float32(22.3))
print("\nSố bit phần mũ kiểu float32...\n", b.iexp)
print("Giá trị nhỏ nhất kiểu float32...\n", b.min)
print("Giá trị lớn nhất kiểu float32...\n", b.max)

c = np.finfo(np.float64(29.2))
print("\nSố bit phần mũ kiểu float64...\n", c.iexp)
print("Giá trị nhỏ nhất kiểu float64...\n", c.min)
print("Giá trị lớn nhất kiểu float64...\n", c.max)

Kết quả

Số bit phần mũ kiểu float16... 5
Giá trị nhỏ nhất kiểu float16... -65500.0
Giá trị lớn nhất kiểu float16... 65500.0
Số bit phần mũ kiểu float32... 8
Giá trị nhỏ nhất kiểu float32... -3.4028235e+38
Giá trị lớn nhất kiểu float32... 3.4028235e+38
Số bit phần mũ kiểu float64... 11
Giá trị nhỏ nhất kiểu float64... -1.7976931348623157e+308
Giá trị lớn nhất kiểu float64... 1.7976931348623157e+308