Go Down

Topic: Hexadezimalen String in DEC Integer konvertieren (Read 2 times) previous topic - next topic

Joghurt

Per XOR, nach dem was da steht. ;)

Beim Arduino macht das der "^"-Operator.

Joghurt

#6
Aug 12, 2011, 01:39 pm Last Edit: Aug 12, 2011, 02:31 pm by Joghurt Reason: 1

Mh, jetzt seh ich auch man hätte das erste Byte weglassen können -.-
Geht es denn jetzt?

Ja, dann gehts.

Irgendwas in der Art:
Code: [Select]

char in[] = "00CCA7F6";
int out = 0;
for (byte t=0; t<8; t++) {
  if (in[t]>='0' && in[t]<='9')
    in[t] -= '0';
  if (in[t]>='A' && in[t]<='F')
    in[t] -= 'A'-10;
  out = out*10 + in[t];
}

Ungetestet, also ohne Gewähr! ;)

Das basiert auf dem ASCII-Alphabet und den Positionen der Buchstaben darin.

Werni

Quote
Per XOR, nach dem was da steht.

Oh Man, das war einfach  :smiley-roll:

Werni

Hi Joghurt,
es funktioniert leider nicht.

Heraus kommt 20136. Es sollte aber 13412342 sein

Joghurt

Wie gesagt hab ichs nicht getestet, geht hier in der Firma nicht, Du wirst es wohl debuggen müssen. :(

Guck Dir mal Serial.begin und Serial.println and, damit kannst Du Dir Werte auf die Konsole ausgeben lassen.
Damit solltest Du rausbekommen können wos hakt.

Go Up