কম্পিউটার

জাভাস্ক্রিপ্টে '+', '-', '/', '*' ব্যবহার না করে দুটি সংখ্যার যোগফল বের করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন add() লিখতে হবে যা m এবং n দুটি সংখ্যা নেয়। ফাংশনটি, চারটি মৌলিক গাণিতিক ক্রিয়াকলাপ ব্যবহার না করে ইনপুট হিসাবে নেওয়া দুটি সংখ্যা যোগ করে যোগফল ফেরত দিতে হবে।

উদাহরণ

এর জন্য কোড হবে −

const m = 67, n = 33;
const add = (x, y) => {
   while(y !== 0){
      let carry = x & y;
      x = x ^ y;
      y = carry << 1;
   };
   return x;
};
console.log(add(m, n));

ব্যাখ্যা

দুটি বিটের মধ্যে XOR (^) সম্পাদন করে দুটি বিটের যোগফল পাওয়া যেতে পারে। এবং ক্যারি বিট দুটি বিটের AND (&) সম্পাদন করে পাওয়া যেতে পারে।

আমরা এখানে হাফ অ্যাডার লজিকের একটি বর্ধিত সংস্করণ ব্যবহার করেছি যা দুটি পূর্ণসংখ্যা যোগ করতে 2 একক বিট যোগ করতে ব্যবহার করা যেতে পারে। যদি x এবং y একই অবস্থান(গুলি) এ বিট সেট না করে থাকে, তাহলে x এবং y এর বিটওয়াইজ XOR (^) x এবং y এর যোগফল দেয়।

সাধারণ সেট বিটগুলিকেও অন্তর্ভুক্ত করতে, বিটওয়াইজ এবং (&) ব্যবহার করা হয়। x এবং y এর বিটওয়াইজ AND সমস্ত ক্যারি বিট দেয়। আমরা গণনা করেছি (x &y) <<1 এবং প্রয়োজনীয় ফলাফল পেতে এটিকে x^y-এ যোগ করেছি।

আউটপুট

এবং কনসোলে আউটপুট হবে −

100

  1. জাভাস্ক্রিপ্ট ব্যবহার করে তাদের যোগফল এবং সর্বোচ্চ সাধারণ ফ্যাক্টর দেওয়া দুটি সংখ্যা খুঁজে বের করা

  2. সি প্রোগ্রাম কোন অপারেটর ব্যবহার না করে দুটি সংখ্যার যোগফল বের করতে

  3. কিভাবে C# ব্যবহার করে দুটি বাইনারি সংখ্যার যোগফল বের করবেন?

  4. C# এ একটি পদ্ধতি ব্যবহার না করে দুটি বাইনারি সংখ্যার যোগফল বের করুন?