AVR (13.09.2006 18:34, просмотров: 1) ответил =mse= на Не...Телесиськи сами по себе осыпаются. Но, наскока помню, кодов я тоже не видел. Да и не смотрел. Мне про сдвиг хватило. А код я и сам напишу какой нада. ;О)
Там был, если не ошибаюсь, урезанный код из атмельской арифметической аппноты http://www.telesys.ru/wwwboards/mcontrol/1221/messages/187166.shtml
http://www.telesys.ru/wwwboards/mcontrol/1222/messages/187696.shtml
Типа сдвигаем только 4 байта делимого, потом вычитаем из двух его МСБ делитель, при переносе добавляем единицу к ЛСБ делимого (а при непереносе восстанавливаем делимое), и так 16 циклов. Код этот известен, но он работает только для тех цифр, когда МСВ делителя больше делимого, т.е. когда результат влезает в 16 бит. Разумеется, ни обработки деления на ноль, ни проверки диапазона там не было, за счет этого было заявлено о рекордной производительности в 200 тактов. А потом даже было заявлено о побитии собственного рекорда до 136 тактов, но код был засекречен под соусом обязательств по неразглашению :)