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 Gerhard - 23.10.2003 11:25)
Als Antwort auf hex String in Byte aumwandeln von Franz - 23.10.2003 10:15

> 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:

Re: hex String in Byte aumwandeln (von Franz - 23.10.2003 13:22)