अक्सर हम अपने रोबोट में चीजों को करने के लिए माइक्रोकंट्रोलर का उपयोग करते हैं, लेकिन दशमलव में कुछ गणना करने की आवश्यकता होती है। फ्लोटिंग पॉइंट वेरिएबल्स का उपयोग करना बहुत धीमा है, क्योंकि एक सॉफ्टवेयर फ़्लोटिंग पॉइंट लाइब्रेरी स्वचालित रूप से शामिल है (जब तक कि आपके पास एक उच्च-अंत माइक्रोकंट्रोलर नहीं है)। इसलिए, हम आम तौर पर निश्चित बिंदु अंकगणित का उपयोग करते हैं।
जब भी मैं ऐसा करता हूं, मैं सिर्फ एक पूर्णांक का उपयोग करता हूं, और याद रखता हूं कि दशमलव स्थान कहां है। हालांकि, यह सुनिश्चित करने के लिए कुछ ध्यान रखा जाता है कि सब कुछ सुसंगत है, खासकर जब गणना में चर शामिल होते हैं जहां दशमलव बिंदु एक अलग स्थान पर होता है।
मैंने एक निश्चित बिंदु atan2 फ़ंक्शन को लागू किया है, लेकिन क्योंकि मैं सीमित परिशुद्धता (16 बिट्स) के हर अंतिम ड्रॉप को निचोड़ने की कोशिश कर रहा था, मैं अक्सर दशमलव की जगह की परिभाषा को बदल देता हूं, और जैसे ही मैंने इसे बदल दिया, यह बदल जाएगा। इसके अतिरिक्त, मेरे पास कुछ स्थिरांक होंगे, एक अर्ध-लुक-अप तालिका के रूप में, जो स्वयं एक अंतर्निहित दशमलव बिंदु है।
मैं जानना चाहता हूं कि क्या कोई बेहतर तरीका है। क्या एक पुस्तकालय, या मैक्रोज़ का सेट है, जो निश्चित बिंदु चर का उपयोग सरल कर सकता है, मिश्रित चर के बीच गुणा और भाग को आसान बना सकता है, और दशमलव संख्या या निरंतर अभिव्यक्ति की घोषणा कर सकता है, लेकिन स्वचालित रूप से संकलन में वांछित निश्चित बिंदु प्रतिनिधित्व में परिवर्तित हो सकता है। समय?