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

পাইথনে math.ldexp() ফাংশন ব্যবহার


ফাংশন সংক্ষিপ্ত

math.ldexp(x, i) ফাংশনটি x * (2 ** i) রিটার্ন করে। অর্থাৎ x কে 2 এর i ঘাত দিয়ে গুণ করে। এটি ফ্লোটিং পয়েন্ট ম্যাথের জন্য অপ্টিমাইজড।

সিনট্যাক্স

math.ldexp(x, i)
# x: ফ্লোট বা ইন্টিজার
# i: ইন্টিজার (পাওয়ার অফ ২)

উদাহরণ

import math

print(math.ldexp(1, 4))    # 16.0   (1 * 2^4)
print(math.ldexp(5, -4))   # 0.3125 (5 * 2^-4 = 5/16)
print(math.ldexp(-3, -1))  # -1.5   (-3 * 2^-1 = -3/2)

এরর হ্যান্ডলিং

দ্বিতীয় আর্গুমেন্ট অবশ্যই ইন্টিজার হতে হবে:

import math
print(math.ldexp(1, '4'))  # TypeError: Expected an int as second argument to ldexp.

ব্যবহার ক্ষেত্র

  • বাইনারি ফ্লোটিং পয়েন্ট ম্যানিপুলেশন
  • সাইন্টিফিক কম্পিউটিং, সিগন্যাল প্রসেসিং
  • frexp() এর বিপরীত অপারেশন (mantissa, exponent আলাদা করে)

সামঞ্জস্যপূর্ণ ফাংশন

import math

x = 16.0
mantissa, exponent = math.frexp(x)  # x = mantissa * 2**exponent
print(mantissa, exponent)  # 0.5, 5

reconstructed = math.ldexp(mantissa, exponent)
print(reconstructed)  # 16.0

উপসংহার

math.ldexp() হলো লো-লেভেল ফ্লোটিং পয়েন্ট অপারেশন যা ২-এর ঘাত দিয়ে গুণ/ভাগ করার জন্য অপ্টিমাইজড। সাধারণ গুণোত্তরের চেয়ে দ্রুত এবং সঠিক।

  1. পাইথন টкин্টার-এ ফাংশন বাইন্ডিং

  2. পাইথনে issubset() ফাংশন

  3. পাইথনে intersection() ফাংশন

  4. পাইথনে ফাংশন এনোটেশন (Function Annotations)