কম্পিউটার

2টি স্বাক্ষরিত সংখ্যার গুণনের জন্য বুথের গুণন অ্যালগরিদম বাস্তবায়নের জন্য C++ প্রোগ্রাম


বুথের অ্যালগরিদম হল একটি গুণিতক অ্যালগরিদম যা 2 এর কমপ্লিমেন্ট নোটেশনে দুটি স্বাক্ষরিত বাইনারি সংখ্যাকে গুণ করে। বুথ ডেস্ক ক্যালকুলেটর ব্যবহার করত যেগুলি যোগ করার চেয়ে দ্রুত স্থানান্তরিত হয় এবং তাদের গতি বাড়ানোর জন্য অ্যালগরিদম তৈরি করেছিল৷

অ্যালগরিদম

শুরু করুন BR-এ গুনিতক এবং QR-এ গুণক রাখুন এবং তারপর অ্যালগরিদম নিম্নলিখিত শর্ত অনুযায়ী কাজ করে:1. যদি Qn এবং Qn+1 একই হয় অর্থাৎ 00 বা 11 1 বিট দ্বারা গাণিতিক পরিবর্তন করে। 2. যদি Qn Qn+1 =10 করে A=A + BR এবং 1 বিট দ্বারা গাণিতিক স্থানান্তর সম্পাদন করে। 3. যদি Qn Qn+1 =01 করে A=A – BR এবং 1 বিট দ্বারা গাণিতিক স্থানান্তর সম্পাদন করে। 

উদাহরণ কোড

#includeনেমস্পেস ব্যবহার করে std;void add(int a[], int x[], int q);void complement(int a[], int n) { int i; int x[8] ={ NULL }; x[0] =1; জন্য (i =0; i  1) { ac[i] =ac[i] % 2; c =1; অন্য c =0; } } void ashr(int ac[], int qr[], int &qn, int q) { int temp, i; temp =ac[0]; qn =qr[0]; cout <<"\t\tashr\t\t"; জন্য (i =0; i =0; i--) cout <=0; i--) cout <=0; i--) cout <=0; i--) cout <
 

            
  1. C++ প্রোগ্রামে প্রাকৃতিক সংখ্যা

  2. একটি C++ প্রোগ্রাম ক্র্যাশের কারণ

  3. কোলাটজ অনুমান বাস্তবায়নের জন্য C++ প্রোগ্রাম

  4. অ্যারের উপাদানগুলির গুণনের জন্য C++ প্রোগ্রাম