তারা স্টোর করছেন না unusual অস্বাভাবিক ভাসমান-পয়েন্ট যথার্থতার সাথে। তারা ডাবল স্পষ্টতা সহ π এর জন্য একটি ভুল মান ব্যবহার করছে। করতে আনুমানিক বাইনারি মধ্যে 3,1415926536, অন্তত 38 বিট প্রয়োজন:
3.14159265359922… > 11.001001000011111101101010100010001001
লক্ষ্য করুন 2 ^ -36 1.5e -11, trailing 99. সঙ্গে যা সমানুপাতিক সম্পর্কে যে ডাবল স্পষ্টতা ফ্লোটিং পয়েন্ট একটি 52-বিট significand হয়েছে। cos(pi/2)
-5e-12 হিসাবে মূল্যায়ন করতে , কেবলমাত্র অন্য সম্ভাব্য পছন্দটি হ'ল 48-বিট টাইপ, যা খুব আশ্চর্যজনক হবে।
0 এবং Near এর কাছাকাছি যেখানে ডেরাইভেটিভ প্রায় শূন্য সেখানে কোস (θ) খুব নির্ভুলভাবে গণনা করা যায় না:
cos(3.1415926536) ≈ -0.999999999999999999999947911
এটি -1 থেকে প্রায় 5.2e-23 দ্বারা পৃথক, যা ε এর চেয়ে ছোট double
, সুতরাং সঠিক -১ cos(3.1415926536)
হিসাবে গণনা করা হয় ... যা ভুল।
± π / 2 এর কাছাকাছি, ডেরাইভেটিভ [ -সিন (θ) ] প্রায় ± 1, সুতরাং ইনপুটটিতে ত্রুটি আউটপুট হয়ে যায়।
cos(1.57079632679961) ≈ -4.71338076867830836e-12
cos(1.57079632679962) ≈ -4.72338076867830836e-12
cos(1.57079632680000) ≈ -5.10338076867830836e-12
আমার কাছে এমন টিআই ক্যালকুলেটর রয়েছে যা একটি কম ডিজিট প্রদর্শন করে এবং cos(π/2)
-5.2e-12 হিসাবে গণনা করে । তবে এটি বৈদ্যুতিনভাবে খুব আলাদা এবং এর জন্য একটি সঠিক মান দেওয়ার জন্য ডিজাইন করা হয়েছিল cos(90°)
।
আমি অনুমান করব যে স্পটলাইটে, cos(pi/2)
π এর জন্য একটি মান পুনরুদ্ধার করে দশমিক স্ট্রিংয়ে রূপান্তর করে গণনা করা হচ্ছে (যথাযথ, যুক্তিযুক্ত) বাইনারি মান হিসাবে 11,0010010000111111010101010001000100100001101101111 (বা 10000), 2 দ্বারা বিভাজক করে এবং তারপরে এটিকে মূলত বিয়োগ করে value / 2 এর আসল মান । আপনার খুঁজে পাওয়া উচিত cos(pi/2 + cos(pi/2))
শূন্যের কাছাকাছি কিনা (এটি -2.2e-35 হতে পারে)।
দু'জনের পাওয়ার দ্বারা গুণ করা কেবল বেদীকে প্রভাবিত করে, তাত্পর্য নয়। বারবার অর্ধেক বা দ্বিগুণ হওয়ার মাধ্যমে রাউন্ডিং কীভাবে প্রয়োগ করা হয় তা নির্ধারণ করা সম্ভব।