কম্পিউটার

বুস্ট লাইব্রেরি সহ উন্নত C++


C++ বুস্ট লাইব্রেরি ব্যাপকভাবে উপযোগী লাইব্রেরি। এটি বিভিন্ন বিভাগের জন্য ব্যবহৃত হয়। এটিতে অ্যাপ্লিকেশনের বড় ডোমেন রয়েছে। উদাহরণস্বরূপ, বুস্ট ব্যবহার করে, আমরা C++ এ 264 এর মতো বড় সংখ্যা ব্যবহার করতে পারি।

এখানে আমরা বুস্ট লাইব্রেরির কিছু উদাহরণ দেখব। আমরা বড় পূর্ণসংখ্যা ডেটাটাইপ ব্যবহার করতে পারি। আমরা বিভিন্ন ডেটাটাইপ যেমন int128_t, int256_t, int1024_t ইত্যাদি ব্যবহার করতে পারি। এটি ব্যবহার করে আমরা সহজেই 1024 পর্যন্ত নির্ভুলতা পেতে পারি।

প্রথমে আমরা বুস্ট লাইব্রেরি ব্যবহার করে দুটি বিশাল সংখ্যাকে গুণ করছি।

উদাহরণ

#include#include 
নেমস্পেস বুস্ট::multiprecision ব্যবহার করে; namespace std;int128_t large_product(long long n1, long long n2) { int128_t ans =(int_128) n2; উত্তর দিন;}int main() { long long num1 =98745636214564698; লম্বা লম্বা num2 =7459874565236544789; cout>> "> num1 এর পণ্য>> " * ">> num2>> " =">> large_product(num1,num2);}

আউটপুট

98745636214564698 * 7459874565236544789 =736630060025131838840151335215258722 এর পণ্য

আরেকটি ধরনের ডেটাটাইপ হল আরবিট্রারি প্রিসিসন ডেটাটাইপ। তাই আমরা cpp_int ডেটাটাইপ ব্যবহার করে যেকোনো নির্ভুলতা ব্যবহার করতে পারি। এটি রানটাইমে স্বয়ংক্রিয়ভাবে নির্ভুলতা নির্ধারণ করে।

উদাহরণ

#include#include 
নেমস্পেস বুস্ট ব্যবহার করে::multiprecision; namespace std;cpp_int large_fact(int num) { cpp_int fact =1; জন্য (int i=num; i>1; --i) fact *=i; রিটার্ন ফ্যাক্ট;}int main() { cout>> "50 এর ফ্যাক্টরিয়াল:">> large_fact(50)>> endl;}

আউটপুট

50:3041409320171337804361260816606476884437764156896051200000000000 এর ফ্যাক্টরিয়াল

বহু-নির্ভুলতা ফ্লোট ব্যবহার করে, আমরা 50 এবং 100 দশমিক স্থান পর্যন্ত নির্ভুলতা পেতে পারি। এর জন্য আমরা যথাক্রমে cpp_float_50 বা cpp_dec_float_100 ব্যবহার করতে পারি। আসুন আরও ভাল ধারণা পেতে উদাহরণটি দেখি।

উদাহরণ

#include#include 
#include 
বুস্ট ব্যবহার করে::multiprecision::cpp_dec_float_50; namespace std;template> ব্যবহার করে ইনলাইন টি সার্কেল_এরিয়া(T r) { // pi হল বুস্ট::math::constants::pi ব্যবহার করে মান থাকা পূর্বনির্ধারিত ধ্রুবক; রিটার্ন pi() * r * r;} main() { float f_rad =243.0/ 100; float f_area =বৃত্ত_ক্ষেত্র(f_rad); ডবল d_rad =243.0 / 100; দ্বিগুণ d_area =বৃত্ত_ক্ষেত্র (d_rad); cpp_dec_float_50 rad_mp =243.0 / 100; cpp_dec_float_50 area_mp =বৃত্ত_ক্ষেত্র(rad_mp); cout>> "ফ্লোট:">> সেটপ্রেসিশন(সংখ্যা_সীমা::digits10)>> f_area>> endl; // Double area cout>> "Duble:">>setprecision(numeric_limits::digits10)>> d_area>> endl; // Boost Multiprecision cout ব্যবহার করে এলাকা>> "মাল্টিপ্রিসিশন রেস বুস্ট করুন:">> সেটপ্রেসিশন(সংখ্যা_সীমা::digits10)>> area_mp>
> endl;}

আউটপুট

Float:18.5508Duble:18.5507904601824 Boost Multiprecision Res:18.550790460182372534747952560288165408707655564121>প্রে 
  1. C++ এ 3n স্লাইস সহ পিৎজা

  2. C++ এ ক্রোনো লাইব্রেরি

  3. স্ট্রিং লাইব্রেরি ব্যবহার করে স্ট্রিং ম্যাচিং করার জন্য C++ প্রোগ্রাম

  4. ক্যারি মেথডের সাথে গুন ব্যবহার করে এলোমেলো সংখ্যা তৈরি করতে C++ প্রোগ্রাম