PDA

View Full Version : [C] conversione stringa e numeri in ASCII


Lucariello96
25-10-2013, 18:48
Salve ragazzi..
Vorrei capire come fare un programma in cui inserendo se inserisco in input una stringa mi dia il corrispettivo di ogni carattere in codice ASCII e se invece inserisco in input un numero, mi deve dare il corrispettivo in esadecimale ..
Se potreste farmi questo programma e magari con qualche spiegazione per imparare, mi fareste un gran favore..

Grazie

[Kendall]
25-10-2013, 19:17
Per quanto riguarda la conversione in codice ASCII, ti basta fare il cast ad int del carattere.

Per la rappresentazione esadecimale invece ti basta utilizzare l'override del metodo ToString() definito per gli interi, che prevede l'inserimento di una stringa di formato. Nel caso del formato esadecimale, per esempio, ti basta fare numeroIntero.ToString("X");

Esempio:


class Program
{
public static void Main(string[] argv)
{
String stringa = "prova12345";

foreach ( var carattere in stringa ) {
Console.WriteLine((int)carattere);
}

int number = 23455656;
Console.WriteLine(number.ToString("X"));

Console.ReadKey();
}

}

[Kendall]
25-10-2013, 20:04
Ops... Chiedo venia... Era stato specificato come linguaggio il C ed erroneamente ho usato un esempio con il c#.

Poco male comunque. Per la conversione da char a int il concetto è il medesimo. Il char è un tipo integer, la rappresentazione intera di un char è quello che cerchi, quindi in questo caso puoi fare un cast da char a int ed avere così il suo valore ascii.

Per quanto riguarda la conversione di un numero nel suo formato esadecimale, la funzione printf ti permette di specificare il formato di output dei tuoi numeri (quindi anche l'esadecimale).

http://en.cppreference.com/w/c/io/fprintf

Lucariello96
25-10-2013, 20:15
Non riusciresti a scriverlo in C se ti richiede poco tempo? Perchè mi risulta un po difficile capire bene da solo..
Mi servirebbe già fatto per studiarci sopra e capire...
Anche magari in qualche altro giorno se hai 2 minuti per scriverlo completo...

lorenzo001
25-10-2013, 20:25
Dato che si tratta di un esercizio scolastico, piuttosto che averlo scritto da altri completamente (stile pappa pronta che non serve ad imparare) perché non provi a scrivere qualcosa e vediamo dove sbagli? Magari così impari ...

Lucariello96
25-10-2013, 20:29
E' una cosa nuova che non ci hanno spiegato... il prof ha detto vedete voi senza dirci niente... io voglio uno già fatto per capire bene... ho cercato su internet ma nn riesco a trovare i comandi...
Premetto cmq che ho avuto 9 in informatica e sistemi lo scorso anno (3° superiore)... a me basta capire e conoscere i comandi, e faccio subito mie queste conoscenze...