Logo Old Wild Web

Benvenuto! Accedi o Registrati
Google
Ricerca personalizzata
Aggiungi pagina segnalibri Aggiungi questa pagina ai preferiti
  • Articoli
    • Lista Articoli
  • Software
    • Google Sitemap Generator
    • RawDisk
  • Lavoro
  • Tools
    • Il mio IP
    • Password Manager Online
  • English Vers.
  • Info

  • »Notizie Recenti
  • Attualitą
  • Casa
  • Cinema
  • Cucina
  • Curiositą
  • Economia
  • Elettronica
  • Eventi
  • Fai da te
  • fai-da-te
  • Infomratica
  • Informatica
  • Internet
  • Italia
  • Lavoro
  • Lingue
  • Linux
  • Mondo
  • Motori
  • OldWildWeb
  • Personaggi
  • Pescara
  • Politica
  • Programmazione
  • Recensioni
  • Roma
  • Salute
  • Scienze
  • Software
  • Sport
  • Storia
  • Telefonia
  • Umorismo
  • Viaggi
  • Videogames
  • Vita
  • Webmaster

Siti Partner:
FreeMeeting.It
Sito di incontri gratuito!


ParticularNews.Com
Notizie, Gossip, Moda, Arte, Eventi e molto altro


RocketMySeo.Com
Online Seo Tool


TheOldWildWeb.Com
Versione inglese di OldWildWeb


Vuoi affiliarti
Scrivi a info@oldwildweb.com


Social NetWorks



Home » Programmazione » convertire-stringa-esadecimale-hex-in-intero-integer





Convertire una stringa esadecimale (hex) in intero (Integer) in C e C++

Conversione da Esadecimale a Integer in C/C++

12/08/2011 -In Programmazione - By kingk (art. no 261)



Convertire una stringa esadecimale (HEX) in Integer C/C++

Come posso convertire una stringa esadecimale (hex) in intero in C/C++?

Non esistono funzioni ufficiali nello standard ANSI per convertire una stringa esadecimale in numero intero, la funzione "atoh" riportata qui sotto consente di eseguire questa operazione, presentando un ottima portabilitą in tutti i linguaggi di programmazione esistenti.

int atoh(char * string, int size, bool reverse)
{
//By www.oldwildweb.com
unsigned int value = 0;
int char_val = 0;
int hchar_val = 1;

if (reverse == true)
for (int i = 0; i < size; i++)
{
if (string[i] == '0')
char_val = 0;
if (string[i] == '1')
char_val = 1;
if (string[i] == '2')
char_val = 2;
if (string[i] == '3')
char_val = 3;
if (string[i] == '4')
char_val = 4;
if (string[i] == '5')
char_val = 5;
if (string[i] == '6')
char_val = 6;
if (string[i] == '7')
char_val = 7;
if (string[i] == '8')
char_val = 8;
if (string[i] == '9')
char_val = 9;
if (string[i] == 'a' || string[i] == 'A' )
char_val = 10;
if (string[i] == 'b' || string[i] == 'B' )
char_val = 11;
if (string[i] == 'c' || string[i] == 'C' )
char_val = 12;
if (string[i] == 'd' || string[i] == 'D' )
char_val = 13;
if (string[i] == 'e' || string[i] == 'E' )
char_val = 14;
if (string[i] == 'f' || string[i] == 'F' )
char_val = 15;

value = value + (hchar_val*char_val);
hchar_val *= 16;
}
else
for (int i = size-1; i >= 0; i--)
{
if (string[i] == '0')
char_val = 0;
if (string[i] == '1')
char_val = 1;
if (string[i] == '2')
char_val = 2;
if (string[i] == '3')
char_val = 3;
if (string[i] == '4')
char_val = 4;
if (string[i] == '5')
char_val = 5;
if (string[i] == '6')
char_val = 6;
if (string[i] == '7')
char_val = 7;
if (string[i] == '8')
char_val = 8;
if (string[i] == '9')
char_val = 9;
if (string[i] == 'a' || string[i] == 'A' )
char_val = 10;
if (string[i] == 'b' || string[i] == 'B' )
char_val = 11;
if (string[i] == 'c' || string[i] == 'C' )
char_val = 12;
if (string[i] == 'd' || string[i] == 'D' )
char_val = 13;
if (string[i] == 'e' || string[i] == 'E' )
char_val = 14;
if (string[i] == 'f' || string[i] == 'F' )
char_val = 15;

value = value + (hchar_val*char_val);
hchar_val *= 16;
}

return value;
}


Esempio di utilizzo:

atoh("F0",2, true);
//Output: 240

atoh("0F",2, false);
//Output: 240





Commenta
Il tuo nome
E-Mail (non verrà pubblicata)
Sito Web
Notifiche



Tags: Hex String to Integer C




Articolo in Programmazione

Visita anche: Incontri gratis - ParticularNews