কম্পিউটার

একটি প্রদত্ত সংখ্যার জন্য দুটির পরিপূরক খুঁজে পেতে সি প্রোগ্রাম


একটি প্রদত্ত বাইনারি সংখ্যার জন্য দুটির পরিপূরক দুটি পদ্ধতিতে গণনা করা যেতে পারে, যা নিম্নরূপ -

  • পদ্ধতি 1 − প্রদত্ত বাইনারি সংখ্যাটিকে একজনের পরিপূরক হিসাবে রূপান্তর করুন এবং তারপরে, 1 যোগ করুন।

  • পদ্ধতি 2 − Least Significant Bit (LSB) থেকে প্রথম বিট সেটের পরের শূন্যের পরের শূন্য যা অপরিবর্তিত থাকে এবং বাকি সবগুলি পরিপূরক হওয়া উচিত।

দুজনের পরিপূরক খুঁজে পাওয়ার যুক্তি একটি প্রদত্ত বাইনারি সংখ্যার জন্য নিম্নরূপ -

for(i = SIZE - 1; i >= 0; i--){
   if(one[i] == '1' && carry == 1){
      two[i] = '0';
   }
   else if(one[i] == '0' && carry == 1){
      two[i] = '1';
      carry = 0;
   } else {
      two[i] = one[i];
   }
}
two[SIZE] = '\0';
printf("Two's complement of binary number %s is %s\n",num, two);

একজনের পরিপূরক খোঁজার জন্য যুক্তি একটি প্রদত্ত বাইনারি সংখ্যা থেকে হল −

for(i = 0; i < SIZE; i++){
   if(num[i] == '0'){
      one[i] = '1';
   }
   else if(num[i] == '1'){
      one[i] = '0';
   }
}
one[SIZE] = '\0';
printf("Ones' complement of binary number %s is %s\n",num, one);

উদাহরণ

একটি প্রদত্ত সংখ্যা −

-এর জন্য দুটির পরিপূরক খুঁজে বের করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
#include<stdlib.h>
#define SIZE 8
int main(){
   int i, carry = 1;
   char num[SIZE + 1], one[SIZE + 1], two[SIZE + 1];
   printf("Enter the binary number\n");
   gets(num);
   for(i = 0; i < SIZE; i++){
      if(num[i] == '0'){
         one[i] = '1';
      }
      else if(num[i] == '1'){
         one[i] = '0';
      }
   }
   one[SIZE] = '\0';
   printf("Ones' complement of binary number %s is %s\n",num, one);
   for(i = SIZE - 1; i >= 0; i--){
      if(one[i] == '1' && carry == 1){
         two[i] = '0';
      }
      else if(one[i] == '0' && carry == 1){
         two[i] = '1';
         carry = 0;
      }
      else{
         two[i] = one[i];
      }
   }
   two[SIZE] = '\0';
   printf("Two's complement of binary number %s is %s\n",num, two);
   return 0;
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

Enter the binary number
1000010
Ones' complement of binary number 1000010 is 0111101
Two's complement of binary number 1000010 is 0111110

  1. দুটি প্রদত্ত স্ট্রিংয়ে অস্বাভাবিক অক্ষর খুঁজে পেতে C++ প্রোগ্রাম

  2. একটি সংখ্যা দুটির শক্তি কিনা তা খুঁজে বের করার জন্য C++ প্রোগ্রাম?

  3. একটি প্রদত্ত নম্বর ফিবোনাচি নম্বর কিনা তা পরীক্ষা করার জন্য জাভা প্রোগ্রাম?

  4. দুটি প্রদত্ত তারিখের মধ্যে দিনের সংখ্যা খুঁজে পেতে পাইথন প্রোগ্রাম