Как можно перевести из HEX ASCII в DEC и обратно
Стоит задача перевода из HEX ASCII 33 39 в DEC 39, прибавить +1, то есть 40 и обратно сделать 34 30 - каждый символ массива Примерно есть такой код, он вроде бы считает, но как-то не так
byte kolchislo[]={0x00,0x00,0x00,0x00,0x00};
razmer=1;// может и 2 и 3 быть, от этого завесить дальнейший размер
char asciiHex[razmer];
for(int i = 0;i<razmer;i++){
asciiHex[i]=kolchislo[i];
}
int decValue = strtol(asciiHex, NULL, 16);
decValue++;
char hexAscii[]={0x00,0x00,0x00,0x00};
sprintf(hexAscii, "%02X", decValue);
for (int i=0;i<sizeof(hexAscii);i++){
Serial.printf("%X\n", hexAscii[i]);
}
как говорил выше , вроде бы норм считает, то есть если У меня число 30, размер = 1 , он превратит в 0, +1 = 1 и обратно в 31, гуд, но потом я вывожу в терминал, а он пишет 30 31. Откуда 30? где-то утечка и как будет работать с 2-мя 3-мя цифрами, особенно переход с 9 а 10 и 99 на 100.
Возможно что-то не понимаю.
Спасибо за ответ!