pi
পাইথন ভাসমান (প্ল্যাটফর্ম সি এর double
ধরণের সমান) হিসাবে হুবহু উপস্থাপনযোগ্য নয় । নিকটতম প্রতিনিধিত্বমূলক আনুমানিক ব্যবহার করা হয়।
আমার বাক্সে ব্যবহারের সঠিক অনুমান এখানে (সম্ভবত আপনার বাক্সের মতোই):
>>> import math
>>> (math.pi / 2).as_integer_ratio()
(884279719003555, 562949953421312)
সেই অনুপাতের স্পর্শক খুঁজে পেতে, আমি এখন ডাব্লুএক্সম্যাক্সিমায় স্যুইচ করতে যাচ্ছি:
(%i1) fpprec: 32;
(%o1) 32
(%i2) tan(bfloat(884279719003555) / 562949953421312);
(%o2) 1.6331239353195369755967737041529b16
আপনি যা পেয়েছেন তাই মূলত অভিন্ন। pi/2
ব্যবহৃত বাইনারি আনুমানিকতা গাণিতিক ("অসীম নির্ভুলতা") মানের চেয়ে কিছুটা কম pi/2
। সুতরাং আপনি পরিবর্তে একটি খুব বড় স্পর্শক পেতে infinity
। tan()
প্রকৃত ইনপুট জন্য গণনা করা উপযুক্ত!
ঠিক একই ধরণের কারণে, যেমন,
>>> math.sin(math.pi)
1.2246467991473532e-16
প্রত্যাবর্তন হয় না ০. প্রায় কাছাকাছি math.pi
তুলনায় একটু কম pi
, এবং প্রদর্শিত ফলাফল যে সত্য দেওয়া সঠিক ।
গণিত দেখার অন্যান্য উপায় p
ব্যবহারের ক্ষেত্রে নির্ভুল আনুমানিকতা দেখার বিভিন্ন উপায় রয়েছে:
>>> import math
>>> math.pi.as_integer_ratio()
(884279719003555, 281474976710656)
math.pi
সেই অনুপাতের গাণিতিক ("অসীম নির্ভুলতা") মানের ঠিক সমান equal
বা হেক্সস স্বরলিপিতে একটি সঠিক ভাসা হিসাবে:
>>> math.pi.hex()
'0x1.921fb54442d18p+1'
বা একরকমভাবে খুব সহজেই প্রত্যেকের দ্বারা বোঝা যায়:
>>> import decimal
>>> decimal.Decimal(math.pi)
Decimal('3.141592653589793115997963468544185161590576171875')
যদিও এটি তাত্ক্ষণিকভাবে সুস্পষ্ট নাও হতে পারে, প্রতিটি সসীম বাইনারি ফ্লোটটি সীমাবদ্ধ দশমিক ভাসমান হিসাবে ঠিক প্রতিনিধিত্বযোগ্য (বিপরীতটি সত্য নয় ; যেমন: দশমিক 0.1
একটি সীমাবদ্ধ বাইনারি ভাসমান হিসাবে ঠিক প্রতিনিধিত্বযোগ্য নয়), এবং Decimal(some_float)
নির্মাতা সঠিক সমতুল্য উত্পাদন করে।
এখানে pi
যথাযথ দশমিক মান অনুসরণ করার যথাযথ মান math.pi
এবং তৃতীয় লাইনের একটি ক্যারেট যেখানে তারা পৃথক পৃথক অঙ্কের দিকে নির্দেশ করে:
true 3.14159265358979323846264338327950288419716939937510...
math.pi 3.141592653589793115997963468544185161590576171875
^
math.pi
এখন "প্রায় সব" বাক্স জুড়েই সমান, কারণ প্রায় সব বাক্সেই এখন একই বাইনারি ফ্লোটিং-পয়েন্ট ফর্ম্যাট (আইইইই 754 ডাবল স্পষ্টতা) ব্যবহার করে। আপনি আপনার বাক্সে এটি নিশ্চিত করতে উপরের যে কোনও উপায় ব্যবহার করতে পারেন বা আপনার বাক্সটি যদি ব্যতিক্রম হয় তবে সঠিকভাবে সুনির্দিষ্ট সন্ধান করতে পারেন।