Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

รับจำนวนทศนิยมโดยประมาณที่การลอยตัวแบบนี้แม่นยำในPython


ในการรับจำนวนทศนิยมโดยประมาณที่โฟลตประเภทนี้แม่นยำ ให้ใช้แอตทริบิวต์ความแม่นยำของเมธอด numpy.finfo() ใน Python Numpy พารามิเตอร์แรกของ finfo() คือ float นั่นคือชนิดของข้อมูลประเภท float เพื่อรับข้อมูล

ขั้นตอน

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

นำเข้า numpy เป็น np

กำลังตรวจสอบประเภท float16 ความแม่นยำคือการได้ตัวเลขทศนิยมโดยประมาณ Iexpis เพื่อรับจำนวนบิตในส่วนเลขชี้กำลัง ค่าต่ำสุดคือค่าต่ำสุดของ dtype ที่กำหนด ค่าสูงสุดคือค่าต่ำสุดของ dtype ที่กำหนด -

a =np.finfo(np.float16(45.976))print("ความแม่นยำในการรับจำนวนทศนิยมโดยประมาณ...\n",a.precision)print("จำนวนบิตในส่วนเลขชี้กำลัง ...\n",a.iexp)print("ขั้นต่ำของประเภท float16...\n",a.min)print("จำนวนสูงสุดของประเภท float16...\n",a.max)

กำลังตรวจสอบประเภท float32 -

b =np.finfo(np.float32(22.3))print("\nความแม่นยำในการรับจำนวนทศนิยมโดยประมาณ...\n",a.precision)print("จำนวนบิตในเลขชี้กำลัง ส่วน...\n",b.iexp)print("ขั้นต่ำของประเภท float32...\n",b.min)print("สูงสุดของประเภท float32...\n",b.max) 

กำลังตรวจสอบประเภททุ่น -

c =np.finfo(np.float64(29.2))print("\nความแม่นยำในการรับจำนวนทศนิยมโดยประมาณ...\n",a.precision)print("จำนวนบิตในเลขชี้กำลัง ส่วน...\n",c.iexp)print("ขั้นต่ำของประเภท float64...\n",c.min)print("สูงสุดของประเภท float64...\n",c.max) 

ตัวอย่าง

นำเข้า numpy เป็น np# เพื่อให้ได้จำนวนทศนิยมโดยประมาณที่โฟลตประเภทนี้มีความแม่นยำ ให้ใช้แอตทริบิวต์ความแม่นยำของเมธอด numpy.finfo() ใน Python Numpy# พารามิเตอร์แรกของ finfo() คือ float คือชนิดของข้อมูลประเภท float ที่ต้องการรับข้อมูล# กำลังตรวจสอบ float16 typea =np.finfo(np.float16(45.976))print("ความแม่นยำในการรับตัวเลขทศนิยมโดยประมาณ...\n" ,a.precision)print("จำนวนบิตในส่วนเลขชี้กำลัง...\n",a.iexp)print("ขั้นต่ำของประเภท float16...\n",a.min)print("จำนวน float16 สูงสุด type...\n",a.max)# กำลังตรวจสอบ float32 typeb =np.finfo(np.float32(22.3))print("\nความแม่นยำในการรับจำนวนทศนิยมโดยประมาณ...\n", a.precision)print("จำนวนบิตในส่วนเลขชี้กำลัง...\n",b.iexp)print("ขั้นต่ำของประเภท float32...\n",b.min)print("จำนวนสูงสุดของประเภท float32 ...\n",b.max)# กำลังตรวจสอบ float typec =np.finfo(np.float64(29.2))print("\nความแม่นยำในการรับจำนวนทศนิยมโดยประมาณ ..\n",a.precision)print("จำนวนบิตในส่วนเลขชี้กำลัง...\n",c.iexp)print("ขั้นต่ำของประเภท float64...\n",c.min)print ("สูงสุดประเภท float64...\n",c.max)

ผลลัพธ์

ความแม่นยำในการรับจำนวนทศนิยมโดยประมาณ...3จำนวนบิตในส่วนเลขชี้กำลัง...5ขั้นต่ำของประเภท float16...-65500.0สูงสุดของประเภท float16...65500.0 ความแม่นยำในการรับจำนวนโดยประมาณ ของทศนิยม...3จำนวนของบิตในส่วนเลขชี้กำลัง...8ขั้นต่ำของประเภท float32...-3.4028235e+38สูงสุดของประเภท float32...3.4028235e+38 ความแม่นยำในการรับจำนวนตัวเลขทศนิยมโดยประมาณ... 3จำนวนบิตในส่วนเลขชี้กำลัง...11ขั้นต่ำของประเภท float64...-1.7976931348623157e+308สูงสุดของประเภท float64...1.7976931348623157e+308