(দ্রষ্টব্য: আমি এখানে বাইনারি সংখ্যাগুলি ইঙ্গিত করতে 'বি' সংযোজন করব other অন্য সমস্ত নম্বর দশমিকায় দেওয়া আছে)
জিনিসগুলি সম্পর্কে চিন্তা করার এক উপায় বৈজ্ঞানিক স্বরলিপি সম্পর্কিত কিছু ক্ষেত্রে। আমরা বৈজ্ঞানিক স্বরলিপি হিসাবে প্রকাশিত সংখ্যাগুলি দেখতে অভ্যস্ত, 6.022141 * 10 ^ 23। ভাসমান পয়েন্ট সংখ্যাগুলি অভ্যন্তরীণভাবে অনুরূপ ফর্ম্যাট - ম্যান্টিসা এবং এক্সপোনেন্ট ব্যবহার করে সংরক্ষণ করা হয় তবে দশটির পরিবর্তে দু'টির শক্তি ব্যবহার করে।
আপনার .0১.০ মান্টিসা এবং উদ্দীপকগুলির সাথে 1.90625 * 2 ^ 5, বা 1.11101b * 2 ^ 101b হিসাবে আবার লেখা যেতে পারে। দশটি দ্বারা এটির গুণন করতে এবং (দশমিক বিন্দুটি সরাতে), আমরা এটি করতে পারি:
(1.90625 * 2 ^ 5) * (1.25 * 2 ^ 3) = (2.3828125 * 2 ^ 8) = (1.19140625 * 2 ^ 9)
বা মাইন্টিসার সাথে এবং বাইনারিগুলিতে প্রকাশকারীদের সাথে:
(1.11101 বি * 2 ^ 101 বি) * (1.01 বি * 2 ^ 11 বি) = (10.0110001 বি * 2 ^ 1000 বি) = (1.00110001 বি * 2 ^ 1001 বি)
সংখ্যাগুলি গুণিত করতে আমরা সেখানে কী করেছি তা নোট করুন। আমরা ম্যান্টিসগুলি বহুগুণে বাড়িয়ে দিয়েছি onents তারপরে, ম্যান্টিসার যেহেতু দু'জনেরও বেশি শেষ হয়েছে, তাই আমরা ঘাটিঘটিতকারীকে ধাক্কা দিয়ে ফলাফলটিকে স্বাভাবিক করেছিলাম। এটি ঠিক ঠিক যখন দশমিক বৈজ্ঞানিক স্বরলিপিতে সংখ্যায় একটি ক্রিয়াকলাপ করার পরে আমরা ঘনিষ্ঠটিকে সামঞ্জস্য করি। প্রতিটি ক্ষেত্রে, আমরা যে মানগুলির সাথে কাজ করেছি তাদের বাইনারিতে সীমাবদ্ধ প্রতিনিধিত্ব ছিল, এবং তাই মৌলিক গুণন এবং সংযোজন ক্রিয়াকলাপগুলির দ্বারা মানগুলি আউটপুটও সীমাবদ্ধ প্রতিনিধিত্ব করে produced
এখন, বিবেচনা করুন যে আমরা কীভাবে 10 দ্বারা 61 বিভক্ত করব আমরা ম্যান্টিসাস, 1.90625 এবং 1.25 ভাগ করে শুরু করব। দশমিক, এটি 1.525 দেয়, একটি দুর্দান্ত সংক্ষিপ্ত নম্বর। তবে এটি কী হয় যদি আমরা এটি বাইনারি রূপান্তর করি? আমরা এটি যথাযথভাবে করব - যখনই সম্ভব পূর্ণ দুটি সংখ্যার দশমিককে বাইনারি রূপান্তর করার মতো দু'টির বৃহত্তম শক্তি বাদ দিয়ে, তবে আমরা দু'জনের নেতিবাচক শক্তি ব্যবহার করব:
1.525 - 1 * 2 ^ 0 -> 1
0.525 - 1 * 2 ^ -1 -> 1
0.025 - 0 * 2 ^ -2 -> 0
0.025 - 0 * 2 ^ -3 -> 0
0.025 - 0 * 2 ^ -4 -> 0
0.025 - 0 * 2 ^ -5 -> 0
0.025 - 1 * 2 ^ -6 -> 1
0.009375 - 1 * 2 ^ -7 -> 1
0.0015625 - 0 * 2 ^ -8 -> 0
0.0015625 - 0 * 2 ^ -9 -> 0
0.0015625 - 1 * 2 ^ -10 -> 1
0.0005859375 - 1 * 2 ^ -11 -> 1
0,00009765625 ...
আহ ওহ. এখন আমরা সমস্যায় আছি। এটি দেখা যাচ্ছে যে বাইনারিতে প্রকাশিত হওয়ার পরে 1.90625 / 1.25 = 1.525, একটি পুনরাবৃত্তি ভগ্নাংশ: 1.11101b / 1.01b = 1.10000110011 ... বি আমাদের মেশিনগুলিতে কেবল এই ম্যান্টিসাকে ধরে রাখতে অনেকগুলি বিট রয়েছে এবং তাই তারা কেবল ভগ্নাংশটি গোল করবে এবং একটি নির্দিষ্ট বিন্দু অতিক্রম শূন্য অনুমান। আপনি 61 দ্বারা 10 দ্বারা 10 বিভক্ত করার সময় ত্রুটিটি হ'ল এর মধ্যে পার্থক্য:
1.100001100110011001100110011001100110011 ... খ * 2 ^ 10 বি
এবং, বলুন:
1.100001100110011001100110 বি * 2 ^ 10 বি
এটি মান্টিসার এই বৃত্তাকার যা আমরা ভাসমান পয়েন্টের মানগুলির সাথে সংযুক্ত নির্ভুলতার ক্ষতিতে বাড়ে। এমনকি যখন ম্যান্টিসাকে হুবহু প্রকাশ করা যায় (উদাহরণস্বরূপ, যখন কেবল দুটি সংখ্যা যুক্ত করা হয়), আমরা এখনও অঙ্কীয় ক্ষতি পেতে পারি যদি ম্যান্টিসার খুব বেশি অঙ্কের প্রয়োজন হয় তবে ঘাঁটিঘটিত স্বাভাবিক করার পরে fit
দশমিক সংখ্যাকে একটি পরিচালনাযোগ্য আকারে গোল করে আমরা এর প্রথম কয়েকটি অঙ্ক দিলে আমরা আসলে এই ধরণের জিনিসটি সর্বদা করি। কারণ দশমিক হিসাবে ফলটি প্রকাশ করি এটি প্রাকৃতিক বলে মনে হয়। তবে যদি আমরা একটি দশমিক গোল করে এবং পরে এটিকে অন্য বেসে রূপান্তর করি তবে এটি ভাসমান পয়েন্টের বৃত্তাকার কারণে আমরা যে দশমিকের চেয়েও খারাপ পাই।