কম্পিউটার

হেক্সাডেসিমেল থেকে দশমিকের জন্য C++ প্রোগ্রাম


একটি ইনপুট হিসাবে একটি হেক্সাডেসিমেল সংখ্যার সাথে দেওয়া, কাজটি হল প্রদত্ত হেক্সাডেসিমেল সংখ্যাটিকে দশমিক সংখ্যায় রূপান্তর করা৷

কম্পিউটারে হেক্সাডেসিমেল সংখ্যাকে বেস 16 দিয়ে এবং দশমিক সংখ্যাকে বেস 10 দিয়ে উপস্থাপন করা হয় এবং 0 - 9 মান দিয়ে উপস্থাপিত হয় যেখানে হেক্সাডেসিমেল সংখ্যা 0 - 15 থেকে শুরু হয় যেখানে 10 কে A হিসাবে, 11 কে B হিসাবে, 12 কে C হিসাবে উপস্থাপন করা হয়, D হিসাবে 13, E হিসাবে 14 এবং F হিসাবে 15।

একটি হেক্সাডেসিমেল সংখ্যাকে দশমিক সংখ্যায় রূপান্তর করতে এই ধাপগুলি অনুসরণ করুন -

  • আমরা ডান থেকে বাম থেকে শুরু করে একটি অবশিষ্টের মাধ্যমে অঙ্কগুলি বের করব এবং তারপর 0 থেকে শুরু হওয়া শক্তি দিয়ে এটিকে গুণ করব এবং (অঙ্কের সংখ্যা) - 1 পর্যন্ত 1 দ্বারা বৃদ্ধি করা হবে
  • যেহেতু আমাদের হেক্সডেসিমেল থেকে বাইনারিতে রূপান্তর করতে হবে, পাওয়ারের ভিত্তি হবে 16 কারণ অক্টালের বেস 16 আছে।
  • প্রদত্ত ইনপুটগুলির সংখ্যাগুলিকে ভিত্তি এবং শক্তি দিয়ে গুণ করুন এবং ফলাফলগুলি সংরক্ষণ করুন
  • অন্তিম ফলাফল পেতে সমস্ত গুণিত মান যোগ করুন যা একটি দশমিক সংখ্যা হবে।

একটি হেক্সাডেসিমেল সংখ্যাকে দশমিক সংখ্যায় রূপান্তর করার সচিত্র উপস্থাপনা নীচে দেওয়া হল৷

হেক্সাডেসিমেল থেকে দশমিকের জন্য C++ প্রোগ্রাম

উদাহরণ

Input-: ACD
   A(10) will be converted to a decimal number by -: 10 X 16^2 = 2560
   C(12) will be converted to a decimal number by -: 12 X 16^1 = 192
   D(13) will be converted to a decimal number by -: 13 X 16^0 = 13
Output-: total = 13 + 192 + 2560 = 2765

অ্যালগরিদম

Start
Step 1-> declare function to convert hexadecimal to decimal
   int convert(char num[])
      Set int len = strlen(num)
      Set int base = 1
      Set int temp = 0
      Loop For int i=len-1 and i>=0 and i—
         IF (num[i]>='0' && num[i]<='9')
            Set temp += (num[i] - 48)*base
            Set base = base * 16
         End
         Else If (num[i]>='A' && num[i]<='F')
            Set temp += (num[i] - 55)*base
            Set base = base*16
         End
         return temp
step 2-> In main()
   declare char num[] = "3F456A"
   Call convert(num)
Stop

উদাহরণ

#include<iostream>
#include<string.h>
using namespace std;
//convert hexadecimal to decimal
int convert(char num[]) {
   int len = strlen(num);
   int base = 1;
   int temp = 0;
   for (int i=len-1; i>=0; i--) {
      if (num[i]>='0' && num[i]<='9') {
         temp += (num[i] - 48)*base;
         base = base * 16;
      }
      else if (num[i]>='A' && num[i]<='F') {
         temp += (num[i] - 55)*base;
         base = base*16;
      }
   }
   return temp;
}
int main() {
   char num[] = "3F456A";
   cout<<num<<" after converting to deciaml becomes : "<<convert(num)<<endl;
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে

3F456A after converting to deciaml becomes : 4146538

  1. C++ এ অক্টাল থেকে দশমিক রূপান্তরের জন্য প্রোগ্রাম

  2. C++ এ দশমিক থেকে হেক্সাডেসিমেল রূপান্তরের জন্য প্রোগ্রাম

  3. C++ এ দশমিক থেকে বাইনারি রূপান্তরের জন্য প্রোগ্রাম

  4. C++ এ বাইনারি থেকে দশমিক রূপান্তরের জন্য প্রোগ্রাম