44 lines
861 B
C++
44 lines
861 B
C++
#include <iostream>
|
|
#include <cstring>
|
|
#include <cctype>
|
|
|
|
using namespace std;
|
|
|
|
int main(void) {
|
|
char esadecimale[3];
|
|
|
|
cout << "Inserisci un numero esadecimale: ";
|
|
cin >> esadecimale;
|
|
|
|
int decimale = 0;
|
|
int potenza = 1;
|
|
int lunghezza = strlen(esadecimale);
|
|
|
|
for (int i = lunghezza - 1; i >= 0; i--) {
|
|
char c = toupper(esadecimale[i]);
|
|
int valore;
|
|
|
|
if (c >= '0' && c <= '9') {
|
|
valore = c - '0';
|
|
} else if (c >= 'A' && c <= 'F') {
|
|
valore = 10 + (c - 'A');
|
|
} else {
|
|
cout << "Numero esadecimale non valido!" << endl;
|
|
|
|
return 0;
|
|
}
|
|
|
|
decimale = decimale + (valore * potenza);
|
|
potenza = potenza * 16;
|
|
}
|
|
|
|
if (decimale < 0 || decimale > 255) {
|
|
cout << "Numero esadecimale non valido!" << endl;
|
|
|
|
return 0;
|
|
}
|
|
|
|
cout << "Numero decimale: " << decimale << endl;
|
|
|
|
return 0;
|
|
} |