[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено diwil 04 января 2002 г. 21:42
В ответ на: Где посмотреть алгоритмы деления, умножения для MK... отправлено Trigger 04 января 2002 г. 21:20

Ну, например, деление:
typedef unsigned int __XX;

__XX
__udivmodXI3 ( __XX a, __XX b)
{
__XX al = a; // quotant
__XX ah = 0; // reminder
__XX tmpf;
int i;

for (i = sizeof(__XX)*8; i > 0; i--)
{
ah = (ah << 1) | (al >> (sizeof(__XX)*8-1) );
tmpf = (ah >= b) ? 1 : 0;
ah -= ((tmpf) ? b : 0);
al = (al << 1) | tmpf;
}

return al; // for __udivXi3
return ah; // for __umodXi3
}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru