ডিজিটাল কম্পিউটারগুলির মধ্যে বিভাগ কীভাবে ঘটে? এটির জন্য অ্যালগরিদম কী?
আমি গুগলে কঠোর অনুসন্ধান করেছি কিন্তু সন্তোষজনক ফলাফল পাইনি। অনুগ্রহ করে একটি নমুনার চিত্র সহ বিভাগ অ্যালগরিদমের জন্য খুব সুস্পষ্ট একটি অ্যালগরিদম / ফ্লোচার্ট সরবরাহ করুন ।
ডিজিটাল কম্পিউটারগুলির মধ্যে বিভাগ কীভাবে ঘটে? এটির জন্য অ্যালগরিদম কী?
আমি গুগলে কঠোর অনুসন্ধান করেছি কিন্তু সন্তোষজনক ফলাফল পাইনি। অনুগ্রহ করে একটি নমুনার চিত্র সহ বিভাগ অ্যালগরিদমের জন্য খুব সুস্পষ্ট একটি অ্যালগরিদম / ফ্লোচার্ট সরবরাহ করুন ।
উত্তর:
ডিজিটাল ডিজাইনে বিভাগ অ্যালগরিদমগুলিকে দুটি প্রধান বিভাগে ভাগ করা যায়। ধীর বিভাজন এবং দ্রুত বিভাগ।
আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি যদি এখনও এই ধারণাগুলির সাথে পরিচিত না হন তবে বাইনারি সংযোজন এবং বিয়োগফল কীভাবে কাজ করে তা সন্ধান করার জন্য।
ধীর বিভাগ
সহজ ধীর পদ্ধতিগুলি নিম্নলিখিত পদ্ধতিতে সমস্ত কাজ করে: অংকের থেকে ডিনোমিনিটারকে বিয়োগ করুন। প্রতিটি বিয়োগফলের ফলাফল হিসাবে পুনরাবৃত্তভাবে এটি করুন যতক্ষণ না বাকী অংশটি ডিনোমিনেটরের চেয়ে কম হয়। পুনরাবৃত্তির পরিমাণ হ'ল পূর্ণসংখ্যা ভাগ
উদাহরণ:
7/3:
সুতরাং উত্তর 1 এর বাকী 2 সহ উত্তর 2 এই উত্তরটি আরও কিছুটা প্রাসঙ্গিক করার জন্য এখানে কিছু ব্যাকগ্রাউন্ড দেওয়া আছে। Theণাত্মক যোগ করার মাধ্যমে বাইনারি বিয়োগফল সঞ্চালিত হয় যেমন: 7 - 3 = 7 + (-3)। এটির দুটিটির পরিপূরক ব্যবহার করে এটি সম্পন্ন হয়। প্রতিটি বাইনারি নম্বর পূর্ণ সংযোজনকারীদের একটি সিরিজ ব্যবহার করে যুক্ত করা হয়:
যেখানে প্রতিটি 1-বিট পূর্ণ সংযোজক নিম্নলিখিত হিসাবে বাস্তবায়িত হয়:
দ্রুত বিভাগ
বিভাগের ধীর পদ্ধতিটি বোঝা সহজ হলেও এর পুনরাবৃত্তি পুনরাবৃত্তি প্রয়োজন। বিভিন্ন "দ্রুত" অ্যালগরিদম রয়েছে তবে তারা সকলেই অনুমানের উপর নির্ভর করে।
গোল্ডশ্মিট পদ্ধতিটি বিবেচনা করুন:
এই পদ্ধতিটি নিম্নলিখিত হিসাবে কাজ করে:
এই পদ্ধতিটি পুনরাবৃত্ত সংযোজনের মাধ্যমে বাইনারি গুণকে ব্যবহার করে যা আধুনিক এএমডি সিপিইউগুলিতেও ব্যবহৃত হয়।
ভাসমান পয়েন্ট বিভাগের জন্য হার্ডওয়্যার একটি যুক্তিযুক্ত এককের অংশ যা গুণও করে; একটি গুণক হার্ডওয়্যার মডিউল উপলব্ধ। ভাসমান পয়েন্ট সংখ্যাগুলি, এ এবং বি বলে, ভাগ করে (এ / বি গঠন করে) দ্বারা বিভক্ত
ম্যান্টিসাস (সংখ্যার বাইনারি অঙ্কগুলি) হ'ল 1/2 এবং 1 এর মধ্যে একটি নির্দিষ্ট পয়েন্ট বাইনারি সংখ্যা; এর অর্থ হ'ল বাইনারি পয়েন্টের পরে প্রথম অঙ্কটি '1', তারপরে শূন্য এবং একগুলি ... প্রথম পদক্ষেপ হিসাবে, একটি সারণী ছয়টি বিটের ক্ষেত্রে পারস্পরিক সঠিক খুঁজে পেতে পারে (কেবলমাত্র 32 টি সম্ভাবনা রয়েছে, এটি একটি ছোট টেবিল)
মজার বিষয় হচ্ছে, পুরানো পেন্টিয়াম ডিভাইড বাগ (১৯৯৪ সালে খুব সংবাদযোগ্য) একটি মুদ্রণের ত্রুটির কারণে হয়েছিল যা ধাপের (4) ত্রুটিযুক্ত পারস্পরিক-সারণির মান তৈরি করে। একটি প্রাথমিক কাগজ, "প্যারালাল মাল্টপ্লায়ার ব্যবহারের একটি বিভাগ পদ্ধতি", ডোমেনিকো ফেরারি, আইইইই ট্রান্স। ইলেকট্রন। Comput। ইসি -16 / 224-228 (1967), পদ্ধতিটি বর্ণনা করে, যেমনটি "আইবিএম সিস্টেম / 360 মডেল 91: ভাসমান-পয়েন্ট এক্সিকিউশন ইউনিট" আইবিএম জে। রেস। দেব। 11 : 34-53 (1967)।
পরিচালনার জন্য সংখ্যাগুলির উপর নির্ভর করে বিভাগের জন্য খুব আলাদা পদ্ধতি রয়েছে। পূর্ণসংখ্যার জন্য, অন্যদের দেওয়া শিফট এবং বিয়োগের পদ্ধতিটি দুর্দান্ত কাজ করবে। ভাসমান পয়েন্ট সংখ্যাগুলির জন্য, তবে প্রথমে ডিনোমিনেটরের পারস্পরিক গণনা করা আরও দ্রুত হতে পারে এবং তারপরে আপনার সংখ্যাটি গুণ করে।
ডিনোমিনেটরের পারস্পরিক গণনা এতটা খারাপ নয়; এটি ক্রমাগত আনুমানিক সংশোধন করে সম্পন্ন করা হয়। G 1 / d এর জন্য আপনার অনুমান হতে দিন। উন্নত অনুমানের জন্য, জি '= জি (২-জিডি) ব্যবহার করুন। এটি চতুর্ভুজ রূপান্তরিত হয়, সুতরাং আপনি প্রতিটি উন্নতির উপর নির্ভুলতার অঙ্কগুলি দ্বিগুণ করেন।
উদাহরণ: 3.5 এর পারস্পরিক গণনা করুন।
আপনার প্রাথমিক অনুমান 0.3। আপনি 0.3 * 3.5 = 1.15 গণনা করুন। আপনার সমন্বিত অনুমান 0.3 * (2 - 1.15) = 0.285। ইতিমধ্যে বেশ কাছাকাছি! প্রক্রিয়াটি পুনরাবৃত্তি করুন, এবং আপনি 0.2857125 পাবেন এবং তৃতীয় চেষ্টাটি 0.2857142857 পেয়েছে।
কিছু শর্টকাট আছে। ভাসমান পয়েন্টে, আপনি আপনার মেশিনের সংখ্যা বেসের উপর নির্ভর করে দশ বা দুটি পাওয়ার শক্তি বের করতে পারেন। এবং, বৃহত্তর মেমরির ব্যবহারের ব্যয়ে গতির জন্য, আপনি প্রয়োজনীয় পারস্পরিকের সাথে সাথেই অনুমান করার জন্য 1 থেকে বি (যেখানে বি আপনার নম্বর বেস) এর সংখ্যার জন্য প্রাক-গণিত টেবিল ব্যবহার করতে পারেন এবং এক বা দুটি পরিশোধন পদক্ষেপ সংরক্ষণ করুন।
মনে রাখবেন যে, গুণ এবং কোলমোগোরভের 1960 সালে তাঁর ছাত্র আনাতোলি করাতসুবার বিব্রতকর পরিস্থিতিতে যেমন আপনি কখনই জানেন না যে কোন দ্রুত বা আরও ভাল পদ্ধতি কখন পাওয়া যাবে। আপনার কৌতূহলকে কখনই আত্মসমর্পণ করবেন না।
কম্পিউটারগুলি সংখ্যাবৃদ্ধির জন্য পুনরাবৃত্ত সংযোজন করে না - এটি সত্যই ধীর হবে। স্থিরভাবে, কিছু দ্রুত গুণক অ্যালগরিদম রয়েছে। দেখুন: http://en.wikedia.org/wiki/Karatsuba_algorithm