কম্পিউটার টিউটোরিয়াল

পাইথনে ফ্লোট টাইপের প্রিসিশন (Precision) বা দশমিক অঙ্কের সংখ্যা বের করুন

পাইথন নামপাই-তে 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
  1. পাইথনে একটি দশমিক সংখ্যা শুধু ০ এবং ১ অঙ্ক ধারণ করছে কিনা

  2. পাইথনে একটি সংখ্যার সব অঙ্কের ফ্রিকোয়েন্সি সমান কিনা

  3. পাইথনে ফ্লোট ডেসিমেলকে অক্টালে কনভার্ট করা

  4. পাইথনে ইনস্ট্যান্সের ক্লাস নাম কীভাবে পাবেন?