Domanda

Ho bisogno di una funzione che restituisca il valore ASCII di un personaggio, inclusi spazi, tabulazioni, newline, ecc ...

In una nota simile, qual è la funzione che converte tra numeri esadecimali, decimali e binari?

È stato utile?

Soluzione

char c;
int ascii = (int) c;
s2.data[j]=(char)count;

Un carattere è un numero intero, non sono necessarie funzioni di conversione.

Forse stai cercando funzioni che visualizzano numeri interi come una stringa - usando rappresentazioni esadecimali, binarie o decimali?

Altri suggerimenti

Non è necessaria una funzione per ottenere il valore ASCII: è sufficiente convertirlo in un numero intero con un cast (implicito):

int x = 'A';  // x = 65
int y = '\t'; // x = 9

Per convertire un numero in esadecimale o decimale, puoi utilizzare uno qualsiasi dei membri della printf famiglia:

char buffer[32];  // make sure this is big enough!
sprintf(buffer, "%d", 12345);  // decimal: buffer is assigned "12345"
sprintf(buffer, "%x", 12345);  // hex: buffer is assigned "3039"

Non esiste una funzione integrata da convertire in binario; dovrai farlo da solo.

Se vuoi ottenere il valore ASCII di un carattere nel tuo codice, inserisci il carattere tra virgolette

char c = 'a';

Potresti confondere la rappresentazione interna con l'output. Per vedere quale valore ha un personaggio:

char c = 'A';
cout << c << " has code " << int(c) << endl;

Allo stesso modo per valori esadecimali: tutti i numeri sono numeri esadecimali, quindi è solo una questione di output:

int n = 42;
cout << n << " in hex is " << hex << n << endl;

Il " hex " nell'istruzione output è un manipolatore C ++. Esistono manipolatori per esadecimale e decimale (dec), ma sfortunatamente non per binario.

Per quanto riguarda l'amp esadecimale & amp; binario: sono solo rappresentazioni di numeri interi. Quello che probabilmente vuoi è qualcosa di simile a printf (& Quot;% d & Quot;, n) e printf (& Quot;% x & Quot;, n): il primo stampa il decimale, la seconda la versione esadecimale dello stesso numero. Chiarisci cosa stai cercando di fare -

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top