Hướng dẫn how do i print a large value in python? - làm cách nào để in một giá trị lớn trong python?

Khi chia 2 số lượng lớn trong Python, đầu ra là 1.5640891676957637E+308. Làm cách nào để in toàn bộ số?

Hỏi ngày 11 tháng 8 năm 2019 lúc 14:49Aug 11, 2019 at 14:49

Hướng dẫn how do i print a large value in python? - làm cách nào để in một giá trị lớn trong python?

2

Điều này không thể được thực hiện bởi vì đó là tất cả độ chính xác mà loại

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
8 có. Nó cho bạn biết 16 hoặc một cái gì đó đầu tiên của số của bạn và số mũ, nhưng các chữ số sau 16 đầu tiên chưa bao giờ được tính toán vì không có không gian cho chúng.

Nếu bạn muốn làm việc với những con số khổng lồ và về cơ bản có độ chính xác vô hạn, gần giống như với

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
9egers của Python, hãy thử thư viện Sympy.

Đã trả lời ngày 11 tháng 8 năm 2019 lúc 14:56Aug 11, 2019 at 14:56

Hướng dẫn how do i print a large value in python? - làm cách nào để in một giá trị lớn trong python?

ForcebruforcebruForceBru

42.3k10 Huy hiệu vàng65 Huy hiệu bạc91 Huy hiệu Đồng10 gold badges65 silver badges91 bronze badges

number_str = str(int(1.5640891676957637e+308))
print(number_str)

Prints:

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160

Đã trả lời ngày 11 tháng 8 năm 2019 lúc 14:55Aug 11, 2019 at 14:55

Hướng dẫn how do i print a large value in python? - làm cách nào để in một giá trị lớn trong python?

Andrej Keselyandrej KeselyAndrej Kesely

Phù bằng vàng 142K1444 Huy hiệu bạc88 Huy hiệu đồng14 gold badges44 silver badges88 bronze badges

1

Bạn có thể xem xét loại dữ liệu thập phân trong thư viện tiêu chuẩn https://docs.python.org/3/l Library Float DataType ... Số thập phân có thể được biểu diễn chính xác "

Đã trả lời ngày 11 tháng 8 năm 2019 lúc 15:33Aug 11, 2019 at 15:33

Trong hướng dẫn này, chúng tôi sẽ tìm hiểu các phương pháp khác nhau để in một số lượng lớn bằng Python. Và sự tương phản giữa in số nguyên hoặc phao trong các tình huống đó. & Nbsp; & nbsp;print a large number in Python. And the contrast between printing integers or floats in those situations.  

Khi bạn trải qua bài viết, vui lòng xem video giải thích của tôi:

Làm thế nào để in tất cả các chữ số của một số lượng lớn trong Python?

Xây dựng vấn đề: Float vs Integer in

Python theo mặc định in một xấp xỉ trong trường hợp số float. Hầu hết mọi người không cần nhiều độ chính xác như vậy. Điều này là để giữ cho số lượng các chữ số có thể quản lý được bằng cách hiển thị giá trị tròn thay thế: thay vào đó:

>>> print(0.1)
0.1

Nếu các số weren làm tròn thì đây sẽ là kết quả:

0.1000000000000000055511151231257827021181583404541015625

Nếu bạn cố gắng in số float lớn, đây sẽ là kết quả bằng cách sử dụng hàm

>>> print(0.1)
0.1
0:

>>> print(0.1000000000000000055511151231257827021181583404541015625)
0.1

Để nói cho bạn sự thật, hầu hết các lập trình viên không làm việc với các ứng dụng kế toán hoặc toán học không bận tâm đến việc in tại sao in các phao lớn hoặc số nguyên là một vấn đề trong Python. Họ chỉ đơn giản là don có nhu cầu.

Giá trị tối đa có thể của một số nguyên trong Python là bao nhiêu?

Trong trường hợp số nguyên, những loại số đó không có bất kỳ loại giới hạn nào đã in số lượng lớn. Chúng có thể có giá trị lớn như bộ nhớ có sẵn.

Thử chạy này:

y = 99999**1000
print(y)

Đầu ra phải là một số nguyên lớn. Và nó không nên có bất kỳ vấn đề nào khi hiển thị kết quả của số mũ này. & Nbsp; & nbsp;

Nếu bạn tăng số mũ, hãy nói lên 10000 giá trị, bạn sẽ nhận được kết quả với một thông báo

>>> print(0.1)
0.1
1, trên vỏ nhàn rỗi. & NBSP;

Nếu bạn nhấp đúp vào tin nhắn, nó sẽ theo dõi bằng một cảnh báo mở rộng nó sẽ làm cho nó chậm hoặc không phản hồi. Đó là bởi vì đầu ra tiêu thụ bộ nhớ PC của bạn. & Nbsp; & nbsp;

Làm thế nào để bạn in số lượng lớn trong Python?

Đã đi, chúng tôi sống với số lượng nổi lớn, đó là vấn đề bắt đầu phát sinh. Thí dụ:

x=9.9999**1000
print(x)

Output:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    x=9.9999**1000
OverflowError: (34, 'Result too large')

Hàm

>>> print(0.1)
0.1
0 có thể hiển thị trên màn hình kết quả vì câu trả lời quá lớn.

Thực tế là phao Python không có kích thước không giới hạn và không có độ chính xác tùy ý theo mặc định, có nghĩa là: Có giới hạn kích thước dựa trên hệ thống mà nó đang chạy (phổ biến nhất là 32 hoặc 64 bit). Hạn chế đó không áp dụng cho số nguyên hoặc chuỗi.

Để biết thêm về các hạn chế kỹ thuật của ngôn ngữ lập trình Python, hãy đọc số học dấu phẩy động: Các vấn đề và giới hạn.

Giả sử những con số bạn đang làm việc lớn, nhưng không đủ lớn để tạo ra lỗi tràn. In kết quả nên dễ dàng? Đúng?

>>> x=9.9999**100
>>> print(x)

Output:

9.990004948383415e+99

Vâng, nó in một bản tóm tắt vì số vẫn còn quá cao. Các giới hạn tiêu chuẩn hàm

>>> print(0.1)
0.1
0 có thể được phá vỡ bằng các phương pháp sau:

Phương pháp 1: Chuyển đổi phao sang số nguyên

Python hiển thị một giá trị tròn để giữ cho số chữ số có thể quản lý được. Nó cho thấy nổi lên đến 16 chữ số của độ chính xác. & NBSP;

Một phương pháp để có được tất cả các số là chuyển đổi kết quả từ phao sang số nguyên bằng hàm

>>> print(0.1)
0.1
4. & Nbsp; & nbsp;

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
0

Output:

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
1

Trên các phiên bản cũ của Python, hàm

>>> print(0.1)
0.1
5 có thể được sử dụng để có kết quả giống hệt nhau. Kiểm tra PEP 237 để biết thêm thông tin.

Phương pháp 2: Mô -đun thập phân

Trong các trường hợp như các ứng dụng kế toán và chính xác cao, các công việc cần in biểu diễn thập phân chính xác là cần thiết, hãy sử dụng mô-đun thập phân.

Sử dụng ví dụ trước:

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
2

Output:

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
3

Mô -đun này được thiết kế để hoạt động theo cách tương tự như số học được dạy ở trường. Nó cung cấp hỗ trợ cho số học dấu phẩy động thập phân chính xác nhanh, thậm chí đối với số lượng lớn.

Phương pháp 3: Phân số

Một cách khác để in các số phao lớn được hỗ trợ bởi mô -đun phân số thực hiện số học dựa trên các số hợp lý (do đó các số như 1/10 có thể được biểu diễn chính xác).

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
4

Output:

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
5

Ngoài ra, Python có một phương pháp cung cấp giá trị chính xác của float, dưới dạng một phần: ____ ____ 26. & nbsp;

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
6

Output:

156408916769576373071379516999674270294758197183972476505692635672561429946607721482839700799900977784426920800145985096418278978450607600874550703086464871105809270941181641564392002031609107640705147719606017681794554578537463358952125037388161745430586972528713238507284919924435316681000630776819257180160
5

Bản tóm tắt

Trong hướng dẫn này, chúng tôi đã học ba cách khác nhau để in số lượng lớn:

  • Chuyển đổi phao sang số nguyên
  • Mô -đun thập phân
  • Phân số

Chúng tôi hy vọng bài viết ngắn gọn này giúp bạn hiểu rõ hơn các cách in số nguyên lớn và các số nổi và giới hạn của từng số. & NBSP;

Làm thế nào lớn của một con số có thể xử lý Python?

Cách pythonic tương tự đối với python, "chữ số" nằm trong cơ sở 2³⁰ có nghĩa là nó sẽ nằm trong khoảng từ 0 đến 2³⁰ - 1 = 1073741823 của hệ thống thập phân.0 to 2³⁰ - 1 = 1073741823 of the decimal system.

Những con số cao có thể đi trong Python?

Tối đa là 2 ** 31-1 trên môi trường 32 bit và 2 ** 63-1 trên môi trường 64 bit, như SYS.Maxint trong Python2.Chuyển đổi thành số nhị phân và thập lục phân với bin () và hex (), sys.2**31-1 on a 32-bit environment and 2**63-1 on a 64-bit environment, like sys. maxint in Python2. Converted to binary and hexadecimal numbers with bin() and hex() , sys.