यदि कोई हार्डवेयर मापांक या विभाजन कार्यों का समर्थन नहीं करता है, तो सॉफ्टवेयर द्वारा मापांक / विभाजन का अनुकरण करने के लिए कई और अधिक सीपीयू चक्र लगते हैं। यदि ऑपरैंड 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();
ऐसे अन्य क्षेत्र हैं जो समान कोड का उपयोग करते हैं।