Опитвам се да анализирам стойностите за географска ширина и дължина от GPS NMEA пакет. Получавам пакета като масив от символи. Анализирах масива за ширина и сега трябва да извърша операция за умножение върху него. Но това е масив от символи. Например, ето примерен масив:
char *latitude;
latitude[0] = '4';
latitude[1] = '0';
latitude[2] = '5';
Искам да умножа тези стойности по 2. Трябва да изведе съответно 8,0,10. Така че трябва да получа стойностите 4,2,6 като цяло число. Но ако използвам съдържанието на този масив като цяло число, то естествено извежда 52,48,53. Не искам да получа целочислената стойност, която съответства на тези ascii знаци, искам да получа действителната стойност, както виждам.
gcc -Wall -Wextra -g
, след което използвайте програмата за отстраняване на грешки (gdb
), за да разберете поведението на вашата програма. - person Basile Starynkevitch   schedule 11.01.20164,2,6
=› станете52,50,54
. защо52,48,53
?(4,0,5
?) покажете вашия код. - person BLUEPIXY   schedule 11.01.20168010
или от810
? или 504 =› 1008? - person BLUEPIXY   schedule 11.01.2016