Trong Python, có cách nào để lấy số nguyên lớn nhất mà một số có thể sử dụng không? Có một số hằng số được xác định trước như INT_MAX không?Các dãy số nguyên Python
63
A
Trả lời
114
Python có số nguyên chính xác tùy ý nên không có giá trị cố định tối đa thực sự. Bạn chỉ bị giới hạn bởi bộ nhớ có sẵn.
Trong Python 2, có hai loại, int
và long
. int
s sử dụng loại C, trong khi long
s là độ chính xác tùy ý. Bạn có thể sử dụng sys.maxint
để tìm tối đa int
. Nhưng int
s sẽ được tự động thăng long
, vì vậy bạn thường không cần phải lo lắng về nó:
sys.maxint + 1
hoạt động tốt và trả về một long
.
sys.maxint
thậm chí không tồn tại trong Python 3, vì int
và long
được hợp nhất thành một độ chính xác tùy ý duy nhất int
loại.
0
import re
import sys
import platform
import struct
formats = {
"int":{"p_type":"integer", "format":"i"},
"float":{"p_type":"float", "format":"f"},
"double":{"p_type":"float", "format":"d"}
}
sys_bit = int(re.findall(r"\d+", platform.architecture()[0])[0])/8
for k,v in formats.iteritems():
print "max {0} {1}".format(k, 2**struct.Struct(v["format"]).size*sys_bit-1)-1)
print "min {0} {1}".format(k, -2**struct.Struct(v["format"]).size*sys_bit-1))
Các vấn đề liên quan
- 1. trả về một dãy số nguyên tố
- 2. Tạo một dãy số nguyên trong iOS
- 3. Tuyên bố trường hợp Delphi cho các dãy số nguyên
- 4. Tổng các dãy liên tiếp bằng Python
- 5. Một dãy số nguyên làm khóa cho từ điển
- 6. Cách tìm kích thước của dãy số nguyên
- 7. Tạo một dãy các số ngẫu nhiên
- 8. Tổng số các số tạo thành một dãy số
- 9. Cấu trúc dữ liệu để xây dựng và tra cứu tập hợp các dãy số nguyên
- 10. Đếm số lần mỗi bit được đặt trong một dãy số nguyên
- 11. Python: Chia danh sách thành các danh sách dựa trên chỉ số dãy
- 12. Củng cố IP vào dãy trong python
- 13. Dãy Pandas của Python Bảng Pivot
- 14. Tìm LCM của một dãy số
- 15. Tách số nguyên trong Python?
- 16. Python regex cho số nguyên?
- 17. Làm cách nào để tóm tắt mảng các số nguyên dưới dạng một dãy các dải ô?
- 18. boost :: spirit :: qi và các biến ngoài dãy số
- 19. Cách chuyển đổi dãy số số thành danh sách trong Python
- 20. Làm thế nào để tạo mảng với dãy số nguyên trong C#?
- 21. Json.NET treo khi tuần tự hóa dãy số nguyên không dấu (ulong)
- 22. các số nguyên nguyên dài
- 23. Tạo một dãy số trong MySQL
- 24. GUI để đặt dãy số trong Delphi
- 25. Tuyên bố một dãy số nguyên với bước = 1 trong Ruby
- 26. Python Tham gia một danh sách các số nguyên
- 27. Đọc các số nguyên từ tệp nhị phân trong Python
- 28. Đảo ngược các bit của số nguyên Python
- 29. Đọc một dòng các số nguyên trong Python
- 30. Nhận các số nguyên 16 bit trong Python
Lưu ý rằng trong Python 3 (và Python 2.6 trở lên) 'sys.maxsize' có thể được sử dụng khi bạn cần một giá trị lớn tùy ý. – mattdm
có cái nào không dài không? –
'sys.maxsize' tiếp tục là giới hạn lý thuyết về kích thước của các thùng chứa cho python 2 và 3 (lý thuyết vì bộ nhớ là yếu tố hạn chế thực sự) –