Hex sayıyı decimale cevirme C++ ile

Başlatan universitelim54, 24 Mayıs 2019, 10:44:00

universitelim54

Mrb. Arkadaslar 32 bitlik bir hex sayım var ve bunu decimale cevirmem gerekiyor. Bununla ilgili örnek kod verebilecek arkadas varmı. yardımını rica ederim.

Yasin Tekin

Googlede bulunan ilk örneklerden

#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int main ()
{
    char num[20];
    int i, r, len, hex = 0;
    cout << "Enter a hexadecimal number : ";
    cin >> num;
    len = strlen(num);
    for (i = 0; num[i] != '\0'; i++)
    {
        len--;
        if(num[i] >= '0' && num[i] <= '9')
            r = num[i] - 48;
        else if(num[i] >= 'a' && num[i] <= 'f')
                r = num[i] - 87;
             else if(num[i] >= 'A' && num[i] <= 'F')
                    r = num[i] - 55;
        hex += r * pow(16,len);
    }
    cout << "\nDecimal equivalent of " << num << " is : " << hex;
    return 0;
}

universitelim54

bu kod mikroC de calısmıyor.  for (i = 0; num != '\0'; i++) bide bu kodu anlamıs degılım .Calısmama sorunu long hex=0xff gibi bir değişkenim var bunu diziye atayamıyorum .  yukardaki kodda cin >> num; programın verdiği esneklikten dolayı atama yapabilmiş .