Nếu một phần cứng không hỗ trợ các hoạt động mô đun hoặc phân chia, phải mất nhiều chu kỳ CPU hơn để mô phỏng mô đun / phân chia bằng phần mềm. Có cách nào nhanh hơn để tính toán phép chia và mô đun nếu toán hạng là 10 không?
Trong dự án của tôi, tôi thường xuyên cần tính toán mô đun số nguyên 10. Đặc biệt, tôi đang làm việc trên PIC16F và cần hiển thị một số trên màn hình LCD. Có 4 chữ số để hỗ trợ, vì vậy có 4 lệnh gọi mô đun và hàm phân chia (triển khai phần mềm). Đó là, như sau:
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();
Có những lĩnh vực khác sử dụng mã tương tự.