কম্পিউটার

যেকোন বেস থেকে দশমিকে রূপান্তর করুন এবং C++ এর বিপরীতে


এই টিউটোরিয়ালে, আমরা যে কোনো বেস থেকে দশমিকে রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব এবং এর বিপরীতে।

এর জন্য আমাদের একটি পূর্ণসংখ্যা এবং এর ভিত্তি প্রদান করা হবে। আমাদের কাজ হল সংখ্যাটিকে তার দশমিক সমতুল্যে রূপান্তর করা। আরও আমরা এই পদ্ধতির বিপরীতটিও সম্পাদন করব।

উদাহরণ

#include <stdio.h>
#include <string.h>
//returning values of a character
int val(char c) {
   if (c >= '0' && c <= '9')
      return (int)c - '0';
   else
      return (int)c - 'A' + 10;
}
//converting number to decimal equivalent
int convert_decimal(char *str, int base) {
   int len = strlen(str);
   int power = 1;
   int num = 0;
   int i;
   for (i = len - 1; i >= 0; i--) {
      if (val(str[i]) >= base) {
         printf("Invalid Number");
         return -1;
      }
      num += val(str[i]) * power;
      power = power * base;
   }
   return num;
}
int main() {
   char str[] = "11A";
   int base = 16;
   printf("Decimal equivalent of %s in base %d is " " %d\n", str, base, convert_decimal(str, base));
   return 0;
}

আউটপুট

Decimal equivalent of 11A in base 16 is 282

এখন অপারেশনের বিপরীত কাজ করা হচ্ছে।

উদাহরণ

#include <stdio.h>
#include <string.h>
//returning values of a character
char reVal(int num) {
   if (num <= 0 && num >= 9)
      return (char)(num + '0');
   else
      return (char)(num - 10 + 'A');
}
//reversing a given string
void reverse_string(char *str) {
   int len = strlen(str);
   int i;
   for (i = 0; i < len/2; i++) {
      char temp = str[i];
      str[i] = str[len-i-1];
      str[len-i-1] = temp;
   }
}
//converting to equivalent number with base 'b'
char* convert_base(char res[], int base, int inputNum) {
   int index = 0;
   while (inputNum > 0) {
      res[index++] = reVal(inputNum % base);
      inputNum /= base;
   }
   res[index] = '\0';
   //reversing the result
   reverse_string(res);
   return res;
}
int main() {
   int inputNum = 282, base = 16;
   char res[100];
   printf("Equivalent of %d in base %d is "" %s\n", inputNum, base, convert_base(res, base, inputNum));
   return 0;
}

আউটপুট

Equivalent of 282 in base 16 is 11A

  1. C++ এ BST থেকে মেঝে এবং ছাদ

  2. ফোন থেকে কম্পিউটারে ফটো স্থানান্তর করুন এবং এর বিপরীতে

  3. ফোন থেকে ল্যাপটপে ভিডিও স্থানান্তর করুন এবং এর বিপরীতে

  4. কীভাবে Google ডক্সকে মাইক্রোসফ্ট ওয়ার্ডে রূপান্তর করবেন (এবং এর বিপরীত)