Tôi đã kiểm tra kích thước của một con trỏ trong terminal python của tôi (trong Enthought Canopy IDE) quaKhông thể sử dụng 128bit phao bằng Python trên kiến trúc 64bit
import ctypes
print (ctypes.sizeof(ctypes.c_voidp) * 8)
Tôi đã một kiến trúc 64bit và làm việc với numpy.float64
chỉ là khỏe. Nhưng tôi không thể sử dụng ?
np.array([1,1,1],dtype=np.float128)
hoặc
np.float128(1)
kết quả trong:
AttributeError: 'module' object has no attribute 'float128'
Tôi đang chạy phiên bản sau:
sys.version_info(major=2, minor=7, micro=6, releaselevel='final', serial=0)
Bạn có thể thêm lệnh hoàn chỉnh đã nhận được lỗi này không? Tôi đã thử sử dụng np.float128 trên máy tính của mình và nó hoạt động tốt – CoMartel
@Matthias: Trừ khi bạn có một nền tảng rất khác thường (ví dụ: máy tính lớn của IBM), NumPy gần như chắc chắn không cung cấp cho bạn quyền truy cập vào các phao nổi 128 bit thực sự. Trên một số nền tảng, NumPy hỗ trợ định dạng dấu chấm động 80 bit x87 được định nghĩa trong phiên bản 1985 của chuẩn IEEE 754 và trên một số nền tảng *, định dạng đó được báo cáo là 'float128' (trong khi các định dạng khác được báo cáo là 'float96'). Nhưng tất cả những gì đang xảy ra ở đó là bạn có một định dạng 80 bit với 48 bit (hoặc 16 bit) của padding. –
@PadraicCunningham 'np.longdouble' dẫn đến' np.float64' – Matthias