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:21)
Als Antwort auf Re: hex String in Byte aumwandeln von André H. - 23.10.2003 13:12

Okay, danke funktioniert jetzt!

> Hallo Gerhard,
>  
> > müsste auch gehen, au�er da� du wenn du nicht negative Hexzahlen verwendest bei
> > der for-schleife mit 0 anfangen muÃ?t. ;-)
>
> Danke für den Hinweis.
> Die For-Schleife mu� natürlich bei 0 anfangen.
> Ich hab's beim Kopieren von getNum() vergessen zu ändern.
> Ã?brigens, es gibt keine negativen HEX-Zahlen. :-)
> Die negative Schreibweise gibt's nur bei Dezimalzahlen.
> Negative Zahlen werden in HEX-Schreibweise bei Integer
> mit gesetztem Bit 0x8000 und bei Long mit gesetztem Bit 0x80000000
> definiert.
>
> Also hier die korrektur von getHex() :
> //--String mit HEX-Zahl in integer-Zahl konvertieren--------------
>    function getHex (byte s[]) returns long
> // Die zurückgegebene Zahl kann in
> // byte, int oder long gespeichert werden
> //--------------------------------------------------------
> {byte i,x;long y;
>  y=0;
>  if s[31]==0 return 0;
>  for i=0 ... s[31]-1
>  {
>   x=s[i];
>   if x<'0' or x>'F' or (x>'9' and x<'A')
>      return -32768;//=0x8000(=keine Zahl)
>   if x<0x40 y=y*16 + (x-0x30); else y=y*16 + (x-0x37);
>  }
>  return y;
> }

>
> MfG André H.
>


    Antwort schreiben


Antworten: