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