Wenn ich dich richtig verstehe willst du den String mit zwei Zeichen als Hex-Wert interpretieren!?
Wenn du weißt dass es Hex-Ziffern sind könntest du es direkt aus dem Ascii code berechnen
// oberes nibble
wert = str[0] >= '0' && str[0] <= '9' ? (str[0] - '0') << 4 :
str[0] >= 'A' && str[0] <= 'F' ? (str[0] - 'A' + 0xA) << 4 :
str[0] >= 'a' && str[0] <= 'f' ? (str[0] - 'a' + 0xA) << 4 : -1 /*fehler*/;
// unteres nibble
wert += str[1] >= '0' && str[1] <= '9' ? (str[1] - '0') :
str[1] >= 'A' && str[1] <= 'F' ? (str[1] - 'A' + 0xA) :
str[1] >= 'a' && str[1] <= 'f' ? (str[1] - 'a' + 0xA) : -1 /*fehler*/;
ist jetzt nicht getestet aber so ähnlich könnte es mit wenigen Vergleichen und Additionen aussehen
|