Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: hex String in Byte aumwandeln Kategorie: Programmierung (von Franz - 23.10.2003 13:22)
Als Antwort auf Re: hex String in Byte aumwandeln von Gerhard - 23.10.2003 11:25

Danke Gerald,
hab's probiert und funktioniert!

GruÃ?,
Franz

> > Hallo,
> >
> > ich brauchte wiedermal Hilfe mit den bytes ;-) ...
> >
> > Kann man einen hex-string z.B.: 2F in ein byte umwandeln? (strx.getNum funzt nur mit dec. Werten?)
> >
> > Danke, schon im Voraus für jede Hilfe und gute Idee
> >
> > mit freundlichen Grü�en
> > Franz
>
> Hi Franz!
>
> Hab mal schnell die Funktion getNum auf Hex umgeschrieben!
> MuÃ?t nur aufpassen, daÃ? nicht zu groÃ?e negative Hexzahlen umwandeln willst,
> weil -0x8000 der Returnwert für Fehler ist.
>
> Kopier den Code einfach in dein Programm oder gar in strx.c2 dann kannst du ihn in Zukunft
> überall verwenden.
>
>
> //--String(Hex) in Zahl konvertieren---------------------------
>   function getNumHex (byte s[]) returns long
> // Die zurückgegebene Zahl kann in
> // byte, int oder long gespeichert werden
> //--------------------------------------------------------
> {byte i;long y;byte start;
>  y=0;
>  if s[31]==0 return 0;
>  if s[0]!='-' and
>     not(s[0]>=0x30 and s[0]<=0x39) and
>     not(s[0]>=0x41 and s[0]<=0x46)return -32768;//=0x8000(=keine HexZahl)
>  if s[0]!='-' start = 0;
>  else start = 1;
>  for i=start ... s[31]-1
>  {
>
>   if s[i]>=0x30 and s[i]<=0x39
>   {
>   y=y*16 + (s[i]-0x30);
>   }
>   else if s[i]>=0x41 and s[i]<=0x46
>   {
>   y=y*16 + (s[i]-0x41) + 10;
>   }
>   else return -32768;//=0x8000(=keine HexZahl)
>  }
>  if s[0]=='-' y=y*(-1);
>  return y;
> }
>
>
> Grü�e
> Gerhard


    Antwort schreiben


Antworten: