আমি কেবল একটা বিষয় দেখতে চাই একটি স্বীকৃতি যে হবে double
থেকে float
, একটি প্রসার রূপান্তর হিসাবে গণ্য করা উচিত যখন float
থেকে double
সংকীর্ণ হয় (*)। এটি পাল্টা স্বজ্ঞাত মনে হতে পারে তবে ধরণের প্রকৃত অর্থ কী তা বিবেচনা করুন:
- 0.1f এর অর্থ "13,421,773.5 / 134,217,728, প্লাস বা বিয়োগ 1 / 268,435,456 বা তাই"।
- ০.০ এর প্রকৃত অর্থ 3,602,879,701,896,397 / 36,028,797,018,963,968, যোগ বা বিয়োগ 1 / 72,057,594,037,927,936 বা "
যদি কারওটির একটিতে " double
দশমাংশ" পরিমাণের সর্বোত্তম উপস্থাপনা থাকে এবং এটিকে রূপান্তরিত করা হয় float
, ফলাফলটি হবে "13,421,773.5 / 134,217,728, যোগ বা বিয়োগ 1 / 268,435,456 বা তাই", যা মানটির সঠিক বর্ণনা।
বিপরীতে, যদি কারওটিতে " float
দশমাংশ" পরিমাণের সর্বোত্তম উপস্থাপনা থাকে এবং এটিকে রূপান্তরিত করা হয় double
, ফলাফলটি হবে "13,421,773.5 / 134,217,728, এবং আরও বিয়োগ 1 / 72,057,594,037,927,936 বা" - অন্তর্নিহিত নির্ভুলতার একটি স্তর যা 53 মিলিয়নেরও বেশি ফ্যাক্টর দ্বারা ভুল is
যদিও আইইইই-74৪৪ স্ট্যান্ডার্ডের প্রয়োজন হয় যে ভাসমান-পয়েন্ট গণিতগুলি সম্পাদন করা উচিত যদিও প্রতিটি ভাসমান-পয়েন্ট সংখ্যাটি তার পরিসরের কেন্দ্রস্থলে যথাযথ সংখ্যার পরিমাণকে যথাযথভাবে উপস্থাপন করে, এমনটি বোঝানো উচিত নয় যে ভাসমান-পয়েন্টের মানগুলি যথাযথভাবে প্রতিনিধিত্ব করে সংখ্যাগত পরিমাণ। পরিবর্তে, মানগুলি যেহেতু তাদের পরিসীমা কেন্দ্রস্থলে বলে ধরে নেওয়া দরকার তা তিনটি সত্য থেকে উদ্ভূত: (1) গণনাগুলি অবশ্যই সম্পাদন করা উচিত যদিও অপারেটরগুলির কিছু নির্দিষ্ট সুনির্দিষ্ট মান রয়েছে; (২) সামঞ্জস্যপূর্ণ এবং নথিভুক্ত অনুমানগুলি অসঙ্গতিযুক্ত বা অনিবন্ধিতদের চেয়ে বেশি সহায়ক; (৩) যদি কেউ একটি ধারাবাহিক অনুমান করতে চলেছে তবে কোনও পরিমাণের পরিসীমা কেন্দ্রের প্রতিনিধিত্ব করে এমন ধনাত্মক ধারণা গ্রহণের চেয়ে আর কোনও সুসংগত অনুমানই ভাল হতে পারে না।
ঘটনাক্রমে, আমার মনে আছে প্রায় 25 বছর বা তারও আগে, কেউ সি এর জন্য একটি সংখ্যাসূচক প্যাকেজ নিয়ে এসেছিল যার মধ্যে "পরিসীমা প্রকার" ব্যবহার করা হত, যার মধ্যে 128-বিট ভাসমান একটি জুটি থাকে; সমস্ত ফলাফল গণনা যেমন প্রতিটি ফর্মের জন্য সর্বনিম্ন এবং সর্বাধিক সম্ভাব্য মান গণনা করা যায় fashion যদি কেউ একটি দীর্ঘ দীর্ঘ পুনরাবৃত্ত গণনা সম্পাদন করে এবং [12.53401391134 12.53902812673] এর মান নিয়ে আসে, তবে কেউ আত্মবিশ্বাসের সাথে বিশ্বাস করতে পারে যে অনেকগুলি অঙ্ক যথাক্রমে গোলাকার ত্রুটিতে হারিয়ে গেছে, তবে ফলাফলটি যথাযথভাবে 12.54 হিসাবে প্রকাশ করা যেতে পারে (এবং এটি ছিল না ') টি সত্যই 12.9 বা 53.2)। আমি অবাক হয়েছি যে কোনও মূলধারার ভাষায় আমি এ জাতীয় ধরণের জন্য কোনও সমর্থন দেখিনি, বিশেষত যেহেতু তারা গণিত ইউনিটগুলির সাথে সমানভাবে একাধিক মানকে পরিচালনা করতে পারে এমন উপযুক্ত বলে মনে হয়।
(*) অনুশীলনে, একক-নির্ভুলতা সংখ্যার সাথে কাজ করার সময় অন্তর্বর্তী গণনাগুলি ধরে রাখতে দ্বি-নির্ভুলতার মানগুলি প্রায়শই সহায়ক, সুতরাং এই জাতীয় সমস্ত ক্রিয়াকলাপের জন্য টাইপকাস্ট ব্যবহার করা বিরক্তিকর হতে পারে। ভাষাগুলি "ফাজি ডাবল" প্রকারের সাহায্যে সহায়তা করতে পারে, যা দ্বিগুণ হিসাবে গণনা সম্পাদন করতে পারে, এবং অবিচ্ছিন্নভাবে এবং একা থেকে কাস্ট করা যেতে পারে; এটি বিশেষত সহায়ক হবে যদি টাইপ double
এবং রিটার্নের পরামিতিগুলি গ্রহণ করে এমন ফাংশনগুলি double
চিহ্নিত করা যায় যাতে তারা স্বয়ংক্রিয়ভাবে একটি ওভারলোড উত্পন্ন করে যা পরিবর্তে "ফাজি ডাবল" গ্রহণ করে এবং প্রত্যাবর্তন করে।