Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Итерационный метод можно ускорить:)

Отправлено Quasy 13 февраля 2007 г. 14:42
В ответ на: Тем более, что щас смысла в этой методе нет. AVRов вариант получчился ещё быстрее и несравненно короче. ;О) отправлено -mse- 13 февраля 2007 г. 13:14

// ITOA
char asc[6];

//////////////////////////
void itoa1(unsigned int binval)
{
register unsigned int temp;
register unsigned char binc,atemp;

////////////////////////
temp = 30000;
if( binval >= temp )
{
binval -= temp;
atemp = '3';
}/*if*/
else
{
atemp = '0';
}/*else*/

temp = 10000;
while(binval >= temp)
{
atemp++;
binval -= temp;
}/*while*/

*(asc+0) = atemp;
////////////////////////


////////////////////////
temp = 5000;
if( binval >= temp )
{
binval -= temp;
atemp = '5';
}/*if*/
else
{
atemp = '0';
}/*else*/

temp = 1000;
while(binval >= temp)
{
atemp++;
binval -= temp;
}
*(asc+1) = atemp;
////////////////////////


////////////////////////
temp = 500;
if( binval >= temp )
{
binval -= temp;
atemp = '5';
}/*if*/
else
{
atemp = '0';
}/*else*/

temp = 100;
while(binval >= temp)
{
atemp++;
binval -= temp;
}/*while*/
*(asc+2) = atemp;
////////////////////////


////////////////////////
temp = 50;
if( binval >= temp )
{
binval -= temp;
atemp = '5';
}/*if*/
else
{
atemp = '0';
}/*else*/

binc = (unsigned char)binval;
while(binc >= 10)
{
atemp++;
binc -= 10;
}/*while*/
*(asc+3) = atemp;
////////////////////////
binc += '0';
*(asc+4) = binc;
*(asc+5) = '\0';

}/*itoa1*/
//////////////////////////

//////////////////////////
int main( void )
{
itoa1( 59999 );
printf("\n %s ", asc );
}

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 13:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru