У меня тут вопрос появился. Нигде не смог найти толкового описания как переводить из одной системы исчисления в другую. В общем что мне надо:
В "моём" ответе 11-й байт это температура. Формула для пересчета в реальную температуру:
N=E-40 [°C].
E - передаваемое значение,
N - физическая величина. В примере это значение равно 47. Берем
windows калькулятор. Переводим 47 hex в dec. Получаем 71. Дальше 71-40=31°C. Собственно говоря как это сделать? И как быть если температура будет отрицательной?
Код
unsigned char temp;
char convert[16];
...
temp = buffer[10];
temp = (преобразовать в dec) - 40; // ????
sprintf(convert,"%u",temp);
// вывод на дисплей char
Т.е.
0х47 hex ->
71 dec ??? И как быть с отрицательной температурой?
И есть ли что то быстрее
sprintf ?