কম্পিউটার টিউটোরিয়াল

C-তে বিটওয়াইজ রিকারসিভ পদ্ধতিতে দুটি পূর্ণসংখ্যা যোগ করা

দুটি সংখ্যা দেওয়া আছে। বিটওয়াইজ অপারেশন এবং রিকারশন ব্যবহার করে তাদের যোগফল বের করতে হবে (হাফ-অ্যাডার লজিক)।

লজিক

  • XOR (^) দিয়ে যোগফল বের করা হয় (ক্যারি ছাড়া)।
  • AND (&) এবং লेफট শিফট (<<1) দিয়ে ক্যারি বের করা হয়।
  • যদি ক্যারি ০ হয়, তবে যোগফল ফাইনাল। নইলে রিকারসিভ কল: addNumbers(carry, result)।

অ্যালগরিদম

  1. carry = (a & b) << 1
  2. result = a ^ b
  3. if carry == 0 return result
  4. else return addNumbers(carry, result)

C প্রোগ্রাম উদাহরণ

#include <stdio.h>

int addNumbers(int a, int b) {
    int carry = (a & b) << 1;
    int result = a ^ b;
    if (carry == 0) return result;
    else return addNumbers(carry, result);
}

int main() {
    int a = 54, b = 897;
    printf("যোগফল: %d", addNumbers(a, b));
    return 0;
}

আউটপুট

যোগফল: 951
  1. জাভাস্ক্রিপ্টে দুটি ইন্টিজারের মাঝপথে র‍্যান্ডম হোল নম্বর জেনারেট করা

  2. জাভাস্ক্রিপ্টে দুটি সংখ্যা নিয়ে ইন্টিজার তুলনা করা

  3. জাভাস্ক্রিপ্টে পূর্ণসংখ্যার লিস্ট থেকে দুটি সংখ্যার সর্বোচ্চ গুণফল বের করা

  4. বিটওয়াইজ অপারেশন ব্যবহার করে ২ দিয়ে যোগ এবং গুণ করার C প্রোগ্রাম