অন্যরা যেমন উল্লেখ করেছে, আপনি সম্ভবত BigDecimal
শ্রেণিটি ব্যবহার করতে চাইবেন, যদি আপনি ১১.৪ এর সঠিক প্রতিনিধিত্ব করতে চান।
এখন কেন এটি হচ্ছে তার একটি সামান্য ব্যাখ্যা:
float
এবং double
জাভা আদিম ধরনের হয় বিন্দু ভাসমান সংখ্যা, যেখানে সংখ্যাকে ভগ্নাংশ এবং এক্সপোনেন্ট একটি বাইনারি প্রতিনিধিত্ব হিসাবে সংরক্ষিত হয়।
আরও সুনির্দিষ্টভাবে, ডাবল-স্পষ্টতা ভাসমান পয়েন্টের মান যেমন double
টাইপটি একটি 64৪-বিট মান, যেখানে:
- 1 বিট চিহ্নটিকে (ধনাত্মক বা negativeণাত্মক) নির্দেশ করে।
- ঘাতক জন্য 11 বিট।
- উল্লেখযোগ্য সংখ্যাগুলির জন্য 52 বিট (বাইনারি হিসাবে ভগ্নাংশ)
এই অংশগুলি একত্রিত double
হয়ে একটি মান উপস্থাপন করে।
(সূত্র: উইকিপিডিয়া: দ্বিগুণ নির্ভুলতা )
জাভাতে কীভাবে ভাসমান পয়েন্টের মানগুলি পরিচালনা করা হয় তার বিশদ বিবরণের জন্য বিভাগ 4.2.3 দেখুন: জাভা ভাষা নির্দিষ্টকরণের ভাসমান-পয়েন্টের ধরণ, বিন্যাস এবং মানগুলি ।
byte
, char
, int
, long
ধরনের হয় নির্দিষ্ট বিন্দু সংখ্যা, যা সংখ্যার সঠিক representions হয়। স্থির পয়েন্ট সংখ্যাগুলির বিপরীতে, ভাসমান পয়েন্ট সংখ্যাগুলি কিছু সময় ("বেশিরভাগ সময়" ধরে নেওয়া নিরাপদ) কোনও সংখ্যার যথাযথ উপস্থাপনা ফেরত দিতে সক্ষম হবে না। এই কারণে আপনি 11.399999999999
ফলাফল হিসাবে শেষ 5.6 + 5.8
।
1.5 বা 150.1005 এর মতো নির্ভুল মানের প্রয়োজন হলে, আপনি নির্দিষ্ট পয়েন্টের ধরণের একটি ব্যবহার করতে চাইবেন, যা সংখ্যাকে ঠিক উপস্থাপন করতে সক্ষম হবে।
যেমন ইতিমধ্যে বেশ কয়েকবার উল্লেখ করা হয়েছে, জাভাতে একটি BigDecimal
ক্লাস রয়েছে যা খুব বড় সংখ্যক এবং খুব কম সংখ্যক হ্যান্ডেল করবে।
BigDecimal
শ্রেণীর জন্য জাভা এপিআই রেফারেন্স থেকে :
অপরিবর্তনীয়, নির্বিচারে-নির্ভুলতা স্বাক্ষরিত দশমিক সংখ্যা imal একটি বিগডিসিমাল একটি স্বেচ্ছাসেবী যথার্থ পূর্ণসংখ্যার আনসেকেড মান এবং একটি 32-বিট পূর্ণসংখ্যার স্কেল নিয়ে গঠিত। যদি শূন্য বা ধনাত্মক হয় তবে স্কেল হ'ল দশমিক বিন্দুর ডানদিকে সংখ্যাগুলির সংখ্যা। যদি negativeণাত্মক হয় তবে সংখ্যাটির আনসেল্ড মানকে দশ দ্বারা গুণিত করে স্কেলকে অস্বীকার করার শক্তি দেওয়া হবে। বিগডিসিমাল দ্বারা প্রতিনিধিত্ব করা সংখ্যার মান তাই (আনসকেডভ্যালু × 10 ^ -স্কেল)।
ভাসমান পয়েন্ট সংখ্যা এবং তার যথার্থতা সম্পর্কিত স্ট্যাক ওভারফ্লোতে অনেক প্রশ্ন রয়েছে। এখানে আগ্রহী হতে পারে সম্পর্কিত প্রশ্নগুলির একটি তালিকা:
আপনি যদি ভাসমান পয়েন্ট সংখ্যাগুলির সত্যিকারের কৌতুকপূর্ণ বিবরণে নামতে চান, তবে প্রতিটি কম্পিউটার বিজ্ঞানী কী ভাসমান-পয়েন্ট গাণিতিক সম্পর্কে জানতে হবে তা একবার দেখুন ।