Якщо апаратне забезпечення не підтримує модуль або операції поділу, для моделювання модуля / поділу програмним забезпеченням потрібно набагато більше циклів процесора. Чи існує швидший спосіб обчислити поділ і модуль, якщо операнд 10?
У своєму проекті мені часто потрібно обчислювати цілий модуль 10. Зокрема, я працюю над PIC16F і мені потрібно показувати число на РК-екрані. Існує 4 цифри для підтримки, тому є 4 виклики до функції модуля та поділу (реалізація програмного забезпечення). Тобто, як і наступне:
digit = number % 10; // call to an expensive function
number /= 10; // call to an expensive function
somehow_lit_segments();
digit = number % 10; // call to an expensive function
number /= 10; // call to an expensive function
somehow_lit_segments();
digit = number % 10; // call to an expensive function
number /= 10; // call to an expensive function
somehow_lit_segments();
digit = number % 10; // call to an expensive function
number /= 10; // call to an expensive function
somehow_lit_segments();
Є й інші області, в яких використовується аналогічний код.