3
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đã nhận thấy rằng bất cứ khi nào bất kỳ số nguyên nào vượt qua 2^31-1 Mã nặng số của tôi bị chậm lại, mặc dù thực tế là tôi đã sử dụng bản dựng Python 64 bit trên phiên bản Windows 64 bit. Điều này có vẻ đúng trên Python 2.7 và Python 3. Tôi đã đọc rằng Windows đã tạo ra độ dài của chúng là 32 bit, nhưng điều đó không gợi ý cho tôi rằng không thể sử dụng số 64 bit.
Có cách nào để sử dụng số nguyên 64 bit mặc dù một lớp hoặc mô -đun hoặc thậm chí là một bản dựng python khác nhau không?
Đã hỏi ngày 20 tháng 5 năm 2015 lúc 18:23May 20, 2015 at 18:23
1
my_array = numpy.array[my_list,dtype=numpy.int64]
maybe?
Đã trả lời ngày 20 tháng 5 năm 2015 lúc 18:25May 20, 2015 at 18:25
Joran Beasleyjoran BeasleyJoran Beasley
106K12 Huy hiệu vàng149 Huy hiệu bạc174 Huy hiệu đồng12 gold badges149 silver badges174 bronze badges
1
Tôi không biết về bất kỳ bản dựng Windows nào sử dụng loại gốc 64 bit cho int
với Python 2.7. Tất cả các trình biên dịch C sẽ sử dụng long
để chỉ loại 32 bit. Thay đổi Python để sử dụng long long
cho biểu diễn nội bộ của int
có thể sẽ phá vỡ các mô -đun mở rộng.
Trên Python 3.x, loại số nguyên duy nhất là loại chính xác tùy ý [được gọi là long
theo Python 2.x]. Trên các hệ thống 64 bit, loại độ chính xác tùy ý hoạt động trong các khối 2^30 bit. Trên các hệ thống 32 bit, loại độ chính xác tùy ý hoạt động trong các khối 2^15 bit. Các giá trị 15 và 30 sẽ khó thay đổi.
Đối với các thư viện bên ngoài, tôi duy trì thư viện GMPY2. Nó cung cấp quyền truy cập vào thư viện GMP/MPIP chính xác tùy ý. Loại số nguyên
>>> s = 1000
>>> type[s]
>>> s = 1000l
>>> type[s]
0 thường hiệu quả hơn một khi các số đạt tới ~ 128 bit. Ymmv.Đã trả lời ngày 20 tháng 5 năm 2015 lúc 20:01May 20, 2015 at 20:01
CASEVHCASEVHcasevh
10,9k1 Huy hiệu vàng22 Huy hiệu bạc32 Huy hiệu đồng1 gold badge22 silver badges32 bronze badges
1
Python có bốn loại số cho số nguyên, có int và dài. Số nguyên dài có độ chính xác không giới hạn. Bạn có một thời gian dài khi bạn nhập một số đủ lớn hoặc bạn có thể chỉ định nó rõ ràng bằng cách thêm một "l"
>>> s = 1000
>>> type[s]
>>> s = 1000l
>>> type[s]
Đã trả lời ngày 20 tháng 5 năm 2015 lúc 18:28May 20, 2015 at 18:28
WyrmwoodwyrmwoodWyrmwood
3.07925 huy hiệu bạc32 huy hiệu đồng25 silver badges32 bronze badges
2
Viết một chương trình Python để kiểm tra xem một số nguyên có phù hợp với 64 bit hay không. Giải pháp mẫu:-:- Mã Python:Python Basic: Bài tập-127 với giải pháp
int_val = 30
if int_val.bit_length[] >> a, b = 1, 2
>>> a, b = b, a
>>> a, b
[2, 1]
- Bài tập: Top 16 chủ đề phổ biến nhất hàng tuần
- Bài tập SQL, Thực hành, Giải pháp - Tham gia
- Bài tập SQL, Thực hành, Giải pháp - Quan sát phụ
- JavaScript Basic - Bài tập, Thực hành, Giải pháp
- Java Array: Bài tập, Thực hành, Giải pháp
- C Bài tập lập trình, Thực hành, Giải pháp: Tuyên bố có điều kiện
- Cơ sở dữ liệu nhân sự - Sắp xếp bộ lọc: Bài tập, Thực hành, Giải pháp
- C Bài tập lập trình, Thực hành, Giải pháp: Chuỗi
- Các loại dữ liệu Python: Từ điển - Bài tập, Thực hành, Giải pháp
- Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
- Mảng C ++: Bài tập, Thực hành, Giải pháp
- Báo cáo và vòng lặp có điều kiện JavaScript - Bài tập, Thực hành, Giải pháp
- Thuật toán cơ bản C# Sharp: Bài tập, Thực hành, Giải pháp
- Python Lambda - Bài tập, Thực hành, Giải pháp
- Python Pandas DataFrame: Bài tập, Thực hành, Giải pháp
- Công cụ chuyển đổi
- JavaScript: HTML Mẫu xác thực