Цитата(Punk @ Jan 27 2007, 15:37)

Прет! Есть преременная unsigned int и её значение в программе не превышает 9999 необходимо разбить на отдельные числа для отображения на светодиодном индикаторе.
В хексе у меня все получилось без проблем а вот в деке че то ни хрена.Подскажите плз как надо грамотно разбивать?
Самое простое и короткое:
Код
...
__flash char Symbol[11]={0x88, 0x9F, 0xC4, 0x86, 0x93, 0xA2, 0xA0, 0x8F, 0x80, 0x82, 0xFF}; // образы цифр (могут быть иными)
char Digit[4]; //готовое к выводу на 7-сегментный индикатор 4-разрядное число
...
/*******************************************************************************
4-разрядное 10-ное число в виде семисегментных образов с подавлением незначащих нулей
*******************************************************************************/
void DIG_LED(unsigned int i)
{
char pos=4;
char rem=0;
do
{
if (i !=0) rem =(i % 10);
pos--;
Digit[pos]=Symbol[rem];
rem=10;
i /= 10;
}
while(pos);
}