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