পাইথন নামপাই-তে numpy.finfo() মেথডের precision অ্যাট্রিবিউট ব্যবহার করে একটি ফ্লোট টাইপের আনুমানিক দশমিক অঙ্কের সংখ্যা (decimal digits of precision) বের করা যায়। finfo()-র প্রথম প্যারামিটার হল ফ্লোট ডেটা টাইপ।
পদ্ধতি
লাইব্রেরি ইম্পোর্ট করুন
import numpy as np
float16 টাইপের তথ্য বের করুন
a = np.finfo(np.float16(45.976))
print("দশমিক অঙ্কের সংখ্যা (precision)...\n", a.precision)
print("এক্সপোনেন্টের বিট সংখ্যা (iexp)...\n", a.iexp)
print("float16 ন্যূনতম মান (min)...\n", a.min)
print("float16 সর্বোচ্চ মান (max)...\n", a.max)
float32 টাইপের তথ্য বের করুন
b = np.finfo(np.float32(22.3))
print("\nদশমিক অঙ্কের সংখ্যা (precision)...\n", b.precision)
print("এক্সপোনেন্টের বিট সংখ্যা (iexp)...\n", b.iexp)
print("float32 ন্যূনতম মান (min)...\n", b.min)
print("float32 সর্বোচ্চ মান (max)...\n", b.max)
float64 টাইপের তথ্য বের করুন
c = np.finfo(np.float64(29.2))
print("\nদশমিক অঙ্কের সংখ্যা (precision)...\n", c.precision)
print("এক্সপোনেন্টের বিট সংখ্যা (iexp)...\n", c.iexp)
print("float64 ন্যূনতম মান (min)...\n", c.min)
print("float64 সর্বোচ্চ মান (max)...\n", c.max)
সম্পূর্ণ উদাহরণ
import numpy as np
# float16
a = np.finfo(np.float16(45.976))
print("float16 প্রিসিশন...\n", a.precision)
print("float16 এক্সপোনেন্ট বিট...\n", a.iexp)
print("float16 min...\n", a.min)
print("float16 max...\n", a.max)
# float32
b = np.finfo(np.float32(22.3))
print("\nfloat32 প্রিসিশন...\n", b.precision)
print("float32 এক্সপোনেন্ট বিট...\n", b.iexp)
print("float32 min...\n", b.min)
print("float32 max...\n", b.max)
# float64
c = np.finfo(np.float64(29.2))
print("\nfloat64 প্রিসিশন...\n", c.precision)
print("float64 এক্সপোনেন্ট বিট...\n", c.iexp)
print("float64 min...\n", c.min)
print("float64 max...\n", c.max)
আউটপুট
float16 প্রিসিশন...
3
float16 এক্সপোনেন্ট বিট...
5
float16 min...
-65500.0
float16 max...
65500.0
float32 প্রিসিশন...
6
float32 এক্সপোনেন্ট বিট...
8
float32 min...
-3.4028235e+38
float32 max...
3.4028235e+38
float64 প্রিসিশন...
15
float64 এক্সপোনেন্ট বিট...
11
float64 min...
-1.7976931348623157e+308
float64 max...
1.7976931348623157e+308
দ্রষ্টব্য: মূল আউটপুটে float32 এবং float64-এর প্রিসিশন ভুলভাবে ৩ দেখানো হয়েছে (কোডে a.precision রিপিট হয়েছে)। সঠিক মান: float32 precision=6, float64 precision=15। উপরের আউটপুটে সংশোধন করা হয়েছে।
ব্যাখ্যা:
- float16 (half precision): ৩ দশমিক অঙ্ক, ৫ বিট এক্সপোনেন্ট, রেঞ্জ ~±65500
- float32 (single precision): ৬ দশমিক অঙ্ক, ৮ বিট এক্সপোনেন্ট, রেঞ্জ ~±3.4e38
- float64 (double precision): ১৫ দশমিক অঙ্ক, ১১ বিট এক্সপোনেন্ট, রেঞ্জ ~±1.8e308