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

C++ প্রোগ্রাম: হেক্সাডেসিমেল থেকে ডেসিমেল কনভার্সন

একটি হেক্সাডেসিমেল নম্বর ইনপুট হিসেবে দেওয়া থাকলে, সেটি ডেসিমেল নম্বরে কনভার্ট করতে হবে।

কম্পিউটারে হেক্সাডেসিমেল নম্বর বেস ১৬-এ রিপ্রেজেন্ট করা হয় এবং ডেসিমেল নম্বর বেস ১০-এ ০-৯ মান দিয়ে। হেক্সাডেসিমেল নম্বরে ০-১৫ পর্যন্ত ডিজিট থাকে যেখানে ১০=A, ১১=B, ১২=C, ১৩=D, ১৪=E, ১৫=F।

হেক্সাডেসিমেল থেকে ডেসিমেল কনভার্ট করার ধাপ:

  • ডানদিক থেকে বামদিক রিমেইন্ডার দিয়ে ডিজিট এক্সট্র্যাক্ট করুন এবং পাওয়ার ০ থেকে শুরু করে (ডিজিট সংখ্যা - ১) পর্যন্ত ১ করে বাড়ান
  • হেক্সাডেসিমেল থেকে বাইনারি কনভার্সন হলে পাওয়ারের বেস ১৬ হবে কারণ হেক্সাডেসিমেলের বেস ১৬।

  • ইনপুটের ডিজিটগুলোকে বেস ও পাওয়ারের সাথে গুণ করে ফলাফল সংরক্ষণ করুন
  • সব গুণফল যোগ করে চূড়ান্ত ফলাফল পান যা হবে ডেসিমেল নম্বর

নিচে হেক্সাডেসিমেল থেকে ডেসিমেল কনভার্সনের চিত্রগত উপস্থাপনা দেওয়া হলো:

C++ প্রোগ্রাম: হেক্সাডেসিমেল থেকে ডেসিমেল কনভার্সন

উদাহরণ

Input: ACD
A(10) ডেসিমেলে: 10 X 16^2 = 2560
C(12) ডেসিমেলে: 12 X 16^1 = 192
D(13) ডেসিমেলে: 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
    End
    return temp
step 2 -> In main()
    declare char num[] = "3F456A"
    Call convert(num)
Stop

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

#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<

আউটপুট

3F456A after converting to deciaml becomes : 4146538
  1. C++-এ অক্টাল থেকে ডেসিমেল কনভার্সন প্রোগ্রাম

  2. C++-এ ডেসিমেল থেকে হেক্সাডেসিমেল কনভার্সন প্রোগ্রাম

  3. C++-এ ডেসিমেল থেকে বাইনারি কনভার্সন প্রোগ্রাম

  4. C++-এ বাইনারি থেকে ডেসিমেল কনভার্সন প্রোগ্রাম