Typenumwandung char -> short

xbtequila

Grünschnabel
Ich habe einen String. Im Hexeditor sieht er so aus: 50 1D.

Daraus muss ich die Zahl 4057 bekommen. Der Hexeditor sagt auch, das 50 1D im short Format 7504 ist. Das ist ja meine gesuchte Zahl, nur anders rückwärts.

Wenn ich aber ein normales cast ausführe bekomme ich nur 80 29.

Wie komme ich nun 0x50 0x1D zu einem String oder einer Zahl, in diesem Fall 4057?

Vielen Dank
 
moin


Dreh den doch eben von Hand um:
Code:
#include <string.h>
#include <stdio.h>

int main( void )
{
   char *verkehrt = "ollaH";
   char *richtig = new char[strlen(verkehrt)];
   
   for(int i=strlen(verkehrt)-1, l=0; i>=0; i--, l++)
   {
	   richtig[l] = verkehrt[i];
	   richtig[l+1] = '\0';
   }

   return 0; 
}


mfg
umbrasaxum
 
Vielen Dank für den Code, allerding habe ich immer noch probleme von den beiden Hex Werten 0x50 und 0x1D auf die Zahl zu kommen. Laut Hexeditor muss sollte es eine Short Variable sein.

Aber wenn ich printf("%d", (short) 0x501D); mache bekomme ich nur 20509 oder wenn ich beide einzeln ausgeben lasse bekomme ich 80 und 29.
 
moin


Lass das (short) weg!
Code:
printf("%d", 0xffff);
Der gibt bei mir 65535 aus, was ja auch stimmt.


mfg
umbrasaxum
 
Zurück