Đây là một câu hỏi rất thú vị và có lẽ có những lý do liên quan đến python, đến tính toán và/hoặc phần cứng. Trong khi không cố gắng đưa ra câu trả lời đầy đủ, đây là những gì tôi sẽ hướng tới ...
Lưu ý đầu tiên rằng các loại được xác định bởi ngôn ngữ và có thể khác với kiến trúc phần cứng của bạn. Ví dụ, bạn thậm chí có thể tăng gấp đôi với bộ xử lý 8 bit. Tất nhiên bất kỳ số học nào liên quan đến nhiều lệnh CPU, làm cho việc tính toán chậm hơn nhiều. Tuy nhiên, nếu ứng dụng của bạn yêu cầu nó, nó có thể là giá trị hoặc thậm chí cần thiết (tốt hơn là muộn hơn sai, đặc biệt nếu nói rằng bạn đang chạy một mô phỏng cho một sự ổn định cầu nói ...) Vì vậy, nơi là 128bit chính xác yêu cầu? Đây là wikipedia article trên đó ...
Một chi tiết thú vị khác là khi chúng tôi nói một máy tính được nói 64 bit, đây không phải là mô tả đầy đủ phần cứng. Có rất nhiều phần có thể (và ít nhất là đôi khi) các bit khác nhau: Các thanh ghi tính toán trong CPU, thanh ghi địa chỉ/bộ nhớ địa chỉ bộ nhớ và các bus khác nhau quan trọng nhất từ CPU đến bộ nhớ.
-ALU (đơn vị số học và logic) có các thanh ghi có tính toán. Máy của bạn là 64bit (không chắc chắn nếu điều đó cũng có nghĩa là họ có thể thực hiện 2 phép tính 32 bit tại một thời điểm tương tự) Đây rõ ràng là số lượng phù hợp nhất cho cuộc thảo luận này. Thời gian dài trước đây, nó đã từng là trường hợp bạn có thể ra ngoài và mua co-processor để tăng tốc độ cho các phép tính có độ chính xác cao hơn ...
-Các Đăng ký giữ địa chỉ bộ nhớ hạn chế bộ nhớ máy tính có thể nhìn thấy (trực tiếp) đó là lý do tại sao các máy tính có đăng ký bộ nhớ 32 bit chỉ có thể nhìn thấy 2^32 byte (hoặc xấp xỉ 4 GB) Chú ý rằng đối với 16bits, điều này trở thành 65K rất thấp. Các hệ điều hành có thể tìm cách xung quanh giới hạn này, nhưng không phải cho một chương trình duy nhất, do đó, không có chương trình trong một máy tính 32bit bình thường có thể có hơn 4GB memmory.
-Thông báo rằng các giới hạn đó là về byte chứ không phải bit. Đó là bởi vì khi giới thiệu và tải từ bộ nhớ, chúng tôi tải byte. Trong thực tế, cách này được thực hiện, tải một byte (8 bit) hoặc 8 (64 bit == buss chiều dài cho máy tính của bạn) mất cùng một lúc. Tôi yêu cầu một địa chỉ, và sau đó nhận được cùng một lúc tất cả các bit thông qua xe buýt. Có thể là trong một kiến trúc, tất cả các đại lượng này không cùng số bit.
Tôi đoán bạn có thể làm việc ra bất kỳ '32 * n' hoặc '64 * n' chính xác về mặt lý thuyết, nhưng tôi phải nói rằng về những loại được thực hiện chỉ trong các thử nghiệm là hấp dẫn. –
Hãy nhớ rằng một 'np.float128' thường không có 128 bit chính xác - nó tương đương với một C' long double', thường có 80 bit trên x86 ([xem tại đây] (http: // stackoverflow. com/q/9062562/1461210)). –
@ali_m Tôi hiểu rồi. Tôi đã học được điều gì đó mới mẻ hôm nay! – gerrit