Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
30.01.2010, 23:01
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: преобразовать HEX в DEC
Сообщение от begun
|
realid!
конечно ,большое спасибо за желание помочь ,но сколько не крутил,
все равно пишет тоже самое;
a=52445;
Не знаю, что делать, может чего то не так делаю, но вроде набрал правильно.
|
C этим sprintf(&buf[0],"% lu", D)?
У меня все нормально. Проверял в Embarcadero RAD Studio и Microchip C30.
Вот это проверял:
Код:
|
unsigned long D = 0xAABBCCDD;
char buf[30];
sprintf(&buf, "%lu", D); |
Последний раз редактировалось realid; 30.01.2010 в 23:03.
|
|
|
|
30.01.2010, 23:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.02.2008
Сообщений: 1,802
Сказал спасибо: 124
Сказали Спасибо 602 раз(а) в 419 сообщении(ях)
|
Re: преобразовать HEX в DEC
Во первых - в long не влезет AABBCCDD т.к. long "-2147483648 to 2147483647"
надо - unsigned long "0 to 4294967295 " как минимум.
Второе - в меню - Project - Configure - C compiler - (s)printf - установить long,width.
Третье - sprintf (buff,"a=%u",a); изменить на sprintf (buff,"a=%lu",a);
|
|
|
|
31.01.2010, 00:18
|
|
Гражданин KAZUS.RU
Регистрация: 18.07.2006
Сообщений: 870
Сказал спасибо: 231
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Re: преобразовать HEX в DEC
Победа!!!!!!
Следуя указаниям andries5 наконец все стало на свое место. Я в восторге
от Ваших знании.!!
Молодцы! ,Умницы! ,вам можно только завидовать доброй звестью.
Очент благодарен.Спасибо. Вы дали возможность двигатся дальше на пути освоения AVR.
Честь Вам и хвала!
|
|
|
|
31.01.2010, 07:35
|
|
Прописка
Регистрация: 24.06.2005
Сообщений: 123
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 15 сообщении(ях)
|
Re: преобразовать HEX в DEC
как я понимаю стандартное решение такой задачи - это
целочисленное деление исходного числа на основание системы счисления до тех пор пока остаток не станет равным нулю: десятичное представление получается из остатков.
про опции printf() тут:
http://www.chemisk.narod.ru/html/algoritm08.html
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:24.
|
|