Decimal data type
কিছু প্রোগ্রামিং ভাষা (বা তাদের জন্য সংকলক) একটি অন্তর্নির্মিত (আদিম) বা গ্রন্থাগার দশমিক ডেটা টাইপ প্রদান করে যা বৃত্তাকার ছাড়াই 0.3 এবং-1.17 এর মতো অ-পুনরাবৃত্ত দশমিক ভগ্নাংশকে উপস্থাপন করে এবং তাদের উপর গাণিতিক কাজ করে। উদাহরণ হল decimal.Decimal ধরনের পাইথন এবং অন্যান্য ভাষা দ্বারা প্রদত্ত অনুরূপ প্রকার। যুক্তিসঙ্গত ভগ্নাংশ সংখ্যাগুলি বেশিরভাগ প্রোগ্রামিং ভাষায় ভাসমান-বিন্দু সংখ্যা বা স্থির-বিন্দু সংখ্যা হিসাবে সমর্থিত হয়। যাইহোক, এই ধরনের উপস্থাপনা সাধারণত বিভাজককে দুটির শক্তিতে সীমাবদ্ধ করে। বেশিরভাগ দশমিক ভগ্নাংশকে (বা সাধারণভাবে বেশিরভাগ ভগ্নাংশ) ঠিক একটি ভগ্নাংশ হিসাবে উপস্থাপন করা যায় না যা একটি বিভাজক যা দুটির ঘাত। উদাহরণস্বরূপ, সাধারণ দশমিক ভগ্নাংশ 0.3 (3/10) কে 5404319552844595/18014398509481984 (0.299999999999999988897769) হিসাবে উপস্থাপন করা যেতে পারে। এই নিষ্ক্রিয়তা অনেক সমস্যার সৃষ্টি করে যা অভিজ্ঞ প্রোগ্রামারদের কাছে পরিচিত। উদাহরণস্বরূপ, দশমিকের উপস্থাপনার নিষ্ক্রিয়তার কারণে কিছু সিস্টেমে 0.1 * 7 = = 0.7 অভিব্যক্তিটি বিপরীতভাবে মিথ্যা হিসাবে মূল্যায়ন করতে পারে। যদিও সমস্ত দশমিক ভগ্নাংশ ভগ্নাংশ, এবং এইভাবে এটিকে সঠিকভাবে উপস্থাপন করার জন্য একটি যুক্তিসঙ্গত তথ্য প্রকার ব্যবহার করা সম্ভব, তবে অনেক পরিস্থিতিতে শুধুমাত্র অ-পুনরাবৃত্ত দশমিক ভগ্নাংশ (ভগ্নাংশ যার হর দশের ঘাত) বিবেচনা করা আরও সুবিধাজনক হতে পারে। উদাহরণস্বরূপ, বিশ্বব্যাপী মুদ্রার ভগ্নাংশ এককগুলি বেশিরভাগই একটি হরের উপর ভিত্তি করে যা দশের ঘাত। এছাড়াও, বিজ্ঞানের বেশিরভাগ ভগ্নাংশ পরিমাপকে দশমিক ভগ্নাংশ হিসাবে রিপোর্ট করা হয়, অন্য কোনও হরের সাথে ভগ্নাংশের বিপরীতে। একটি দশমিক তথ্য প্রকার একটি ভাসমান-বিন্দু সংখ্যা বা একটি নির্দিষ্ট-বিন্দু সংখ্যা হিসাবে প্রয়োগ করা যেতে পারে। স্থির-বিন্দুর ক্ষেত্রে, হরটি দশের একটি নির্দিষ্ট শক্তিতে সেট করা হবে। ভাসমান-বিন্দুর ক্ষেত্রে, একটি পরিবর্তনশীল সূচক দশের শক্তির প্রতিনিধিত্ব করবে যার সাথে সংখ্যার মান্টিসাকে গুণ করা হয়। যে ভাষাগুলি একটি যুক্তিসঙ্গত তথ্য প্রকারকে সমর্থন করে তারা সাধারণত বেস-2 ভাসমান-বিন্দু সংখ্যার পরিবর্তে দুটি পূর্ণসংখ্যা থেকে এই ধরনের মান নির্মাণের অনুমতি দেয়, কারণ পরেরটি সঠিকতা হারাবে। সাধারণত মৌলিক গাণিতিক ক্রিয়াকলাপ ('+', '-', '×', '/', পূর্ণসংখ্যা ক্ষমতা) এবং তুলনা ('=', '<', '>', '≤') তাদের উপর কাজ করার জন্য প্রসারিত করা হবে-হয় স্থানীয়ভাবে বা ভাষা দ্বারা প্রদত্ত অপারেটর ওভারলোডিং সুবিধার মাধ্যমে। এই ক্রিয়াকলাপগুলি কম্পাইলার দ্বারা পূর্ণসংখ্যা মেশিনের নির্দেশাবলীর একটি ক্রমে বা লাইব্রেরি কলগুলিতে অনুবাদ করা যেতে পারে। সমর্থন অন্যান্য ক্রিয়াকলাপেও প্রসারিত হতে পারে, যেমন বিন্যাসকরণ, একটি পূর্ণসংখ্যা বা ভাসমান বিন্দু মানের বৃত্তাকারকরণ ইত্যাদি। এর একটি উদাহরণ হল 123.456 স্ট্যান্ডার্ড বিন্যাস IEEE 754 বিভিন্ন নির্ভুলতার তিনটি স্ট্যান্ডার্ড ভাসমান-বিন্দু দশমিক ডেটা প্রকার নির্দিষ্ট করেঃ দশমিক 32 ভাসমান-বিন্দু বিন্যাস দশমিক 64 ভাসমান-বিন্দু বিন্যাস দশমিক 128 ভাসমান-বিন্দু বিন্যাস ভাষা সমর্থন C #-এর একটি অন্তর্নির্মিত ডেটা প্রকার 'দশমিক' রয়েছে, যার ফলে 128-বিট থাকে যার ফলে 28-29 উল্লেখযোগ্য সংখ্যা হয়। এর আনুমানিক পরিসীমা হল (-7.9 x 10 28 থেকে 7.9 x 10 28)/(10 থেকে 28)। পাইথন 2.4 দিয়ে শুরু করে, পাইথনের স্ট্যান্ডার্ড লাইব্রেরিতে মডিউলে একটি ক্লাস অন্তর্ভুক্ত রয়েছে। রুবির স্ট্যান্ডার্ড লাইব্রেরিতে মডিউলে একটি ক্লাস রয়েছে। জাভার স্ট্যান্ডার্ড লাইব্রেরিতে একটি java.math.BigDecimal ক্লাস রয়েছে। উদ্দেশ্য-সি-তে, কোকো এবং জি. এন. ইউ. স্টেপ এ. পি. আইগুলি একটি এন. এস. ডেসিমাল নম্বর শ্রেণী এবং একটি এন. এস. ডেসিমাল সি ডেটাটাইপ প্রদান করে যা দশমিকের প্রতিনিধিত্ব করে যার মান্টিসা 38 অঙ্ক পর্যন্ত লম্বা এবং সূচক-128 থেকে 127 পর্যন্ত হয়। কিছু আইবিএম সিস্টেম এবং এসকিউএল সিস্টেম কমপক্ষে দুটি বড় বিন্যাসের সাথে ডিইসিএফএলওএটি বিন্যাসকে সমর্থন করে। এ. বি. এ. পি-এর নতুন ডি. ই. সি. এফ. এল. ও. এ. টি তথ্য প্রকারের মধ্যে রয়েছে দশমিক 64 (ডি. ই. সি. এফ. এল. ও. এ. টি 16 হিসাবে) এবং দশমিক 128 (ডি. ই. সি. এফ. এল. ও. এ. টি 34 হিসাবে) বিন্যাস। পিএল/আই স্থানীয়ভাবে স্থির-বিন্দু এবং ভাসমান-বিন্দু দশমিক তথ্য উভয়কেই সমর্থন করে। জি. এন. ইউ কম্পাইলার কালেকশন (জি. সি. সি) একটি এক্সটেনশন হিসাবে দশমিক ফ্লোটের জন্য সমর্থন প্রদান করে। আরও দেখুন নির্বিচারে-নির্ভুলতা গাণিতিক ভাসমান-বিন্দু গাণিতিক ভাসমান-বিন্দু ত্রুটি প্রশমন রেফারেন্স ডেটা প্রকার কম্পিউটার গাণিতিক