sys.maxint
ผมคิดว่าจำนวนเต็มสูงสุดในหลามสามารถใช้ได้โดยการโทร
อะไรคือค่าสูงสุดfloat
หรือเป็นlong
ไพ ธ อน
sys.maxint
ผมคิดว่าจำนวนเต็มสูงสุดในหลามสามารถใช้ได้โดยการโทร
อะไรคือค่าสูงสุดfloat
หรือเป็นlong
ไพ ธ อน
คำตอบ:
สำหรับfloat
มีลักษณะที่sys.float_info
:
>>> import sys
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2
250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsil
on=2.2204460492503131e-16, radix=2, rounds=1)
โดยเฉพาะsys.float_info.max
:
>>> sys.float_info.max
1.7976931348623157e+308
หากยังไม่ใหญ่พอจะมีค่าบวกอยู่เสมอ:
>>> infinity = float("inf")
>>> infinity
inf
>>> infinity / 10000
inf
long
ชนิดนั้นมีความแม่นยำไม่ จำกัดดังนั้นฉันคิดว่าคุณกำลัง จำกัด ด้วยหน่วยความจำ
sys.float_info
มีให้เริ่มต้นจาก v2.6 แล้ว v2.3-5 ล่ะ
5e-324
inf
สำหรับทุกสิ่งที่ไพ ธ อนและfloat_info.max
เป็นวิธีแก้ปัญหาเมื่อก่อนหน้านี้ไม่ทำงานตัวอย่างเช่นtime.sleep(float("inf"))
ไม่ได้รับอนุญาต :(
sys.maxint ไม่ใช่จำนวนเต็มที่ใหญ่ที่สุดที่สนับสนุนโดย python มันเป็นจำนวนเต็มที่ใหญ่ที่สุดที่รองรับโดยชนิดจำนวนเต็มปกติของไพ ธ อน
long
การเปลี่ยนแปลงประเภทข้อมูลพื้นฐานกับ
sys.maxint
ไม่ได้กำหนดไว้ใน Python 3 มันถูกเรียกใช้sys.maxsize
ซึ่งอาจเป็นที่ต้องการใน Python 2 เช่นกัน
sys.maxsize
(แนะนำใน Python 2.6) และsys.maxint
เป็นสองสิ่งที่แตกต่างกัน ครั้งแรกให้จำนวนสูงสุดของวัตถุที่ได้รับอนุญาตในการเก็บรวบรวม (เช่นขนาดสูงสุดของรายการ Dict ฯลฯ ) และสอดคล้องกับรุ่น C size_t
ประเภทที่ลงนาม; สองคือจุดหลังจากที่int
ประเภทสวิทช์long
และเป็นค่าสูงสุดของ long
C บนแพลตฟอร์มบางสองค่าที่แตกต่างกันเช่นใน Windows 64-bit, sys.maxsize
เป็น2**63-1
และเป็นsys.maxint
2**31-1
2**63-1
)
หากคุณใช้งานnumpyคุณสามารถใช้dtype ' float128 ' และรับ float สูงสุด10e + 4931
>>> np.finfo(np.float128)
finfo(resolution=1e-18, min=-1.18973149536e+4932, max=1.18973149536e+4932, dtype=float128)
sys.maxint
ใน Python 3