하드웨어가 모듈러스 또는 나눗셈 연산을 지원하지 않으면 소프트웨어에 의한 모듈러스 / 나눗셈을 시뮬레이션하기 위해 더 많은 CPU 사이클이 필요합니다. 피연산자가 10 인 경우 나누기와 계수를 계산하는 더 빠른 방법이 있습니까?
내 프로젝트에서 종종 정수 계수 10을 계산해야합니다. 특히 PIC16F에서 작업하고 있으며 LCD에 숫자를 표시해야합니다. 지원할 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();
유사한 코드를 사용하는 다른 영역이 있습니다.