Forum: PC-Programmierung char -> int


von Patrick Hohl (Gast)


Lesenswert?

hallo zusammen,

habe ein problem: (programmiersprache:C)
mit     sprintf(buffer,"%d",intergerzahl);   kann man ja eine
integerzahl in einzelen char umwandeln. das funktioniert auch
reibungslos.
aber wie mache ich aus 2 char einen int? also das ganze wieder
rückgängig? gibt es einen speziellen befehl?

gruss pädi

von Rufus T. Firefly (Gast)


Lesenswert?

itoa

von Patrick Hohl (Gast)


Lesenswert?

dieser befehl existiert leider nicht in meinem c-compiler. arbeite mit
dem ZILOG C-Compiler.

von Patrick Hohl (Gast)


Lesenswert?

... du meintest  "atoi"  dieser existiert. ich probiers mal...

von OldBug (Gast)


Lesenswert?

char cLow;
char cHigh;
int iValue;

[..]
    iValue = (cHigh << 8) + cLow;
[..]

von KoF (Gast)


Lesenswert?

hmm wie sieht es denn mit casten aus?

var = (datentyp)var2

von Peter Mahler (Gast)


Lesenswert?

char test[2] = {
  0xA1,  /* Low-Byte bei Intel, High-Byte bei Motorola*/
  0xB2   /* Low-Byte bei Motorola, High-Byte bei Intel*/
};


short s = *(short *)&test[0];

/* Inhalt von s bei Intel-Byteorder(X86,ARM,...)      0xB2A1    */
/* Inhalt von s bei Motorola-Byteorder(MAC,68xxx,.. ) 0xA1B2 */


Gruss,

Peter

von Patrick Hohl (Gast)


Lesenswert?

vielen dank für die tipps...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.