Arduino:
संख्याओं को पूर्णांक बनाना
कैसे करें:
Arduino में, आप बिल्ट-इन फंक्शन्स का उपयोग कर संख्याओं को गोल कर सकते हैं। मुख्य खिलाड़ी round
, ceil
, और floor
हैं। यहाँ एक त्वरित डेमो है:
void setup() {
Serial.begin(9600);
float myNumber = 123.4567;
// निकटतम पूर्ण संख्या तक गोल करें
Serial.println(round(myNumber)); // आउटपुट्स: 123
// हमेशा ऊपर की ओर गोल करता है
Serial.println(ceil(myNumber)); // आउटपुट्स: 124
// हमेशा नीचे की ओर गोल करता है
Serial.println(floor(myNumber)); // आउटपुट्स: 123
}
void loop() {
// लूप के माध्यम से कुछ भी नहीं।
}
गहराई से जानकारी:
गोलाई के एल्गोरिथ्म का लंबा इतिहास है; वे डिजिटल कम्प्यूटर्स से बहुत पहले से मौजूद हैं। एनालॉग कंप्यूटिंग में, गोलाई एक भौतिक प्रक्रिया थी। डिजिटल कंप्यूटिंग में, यह एक गणितीय प्रक्रिया है।
गोलाई की आवश्यकता तब पड़ती है जब हम अधिक सटीकता वाले प्रकार (जैसे float
या double
) से कम सटीकता वाले प्रकार (जैसे int
) में परिवर्तन करते हैं। लेकिन हम कैसे गोल करते हैं यह भिन्न हो सकता है:
round()
: मानक गोलाई। यदि फ्रैक्शन 0.5 या अधिक है, तो यह ऊपर जाती है; नहीं तो, यह नीचे जाती है।ceil()
: “सीलिंग” के लिए छोटा, हमेशा निकटतम पूर्ण संख्या की ओर ऊपर गोल करता है, भले ही यह निम्न संख्या के करीब हो।floor()
: सीलिंग के विपरीत; हमेशा नीचे गोल करता है।
इन फंक्शन्स के बीच चयन उस गोल किए गए मूल्य के उपयोग पर निर्भर करता है। मापन के लिए मानक गोलाई की आवश्यकता हो सकती है, पैसे के लिए अक्सर floor
का उपयोग होता है, जबकि इन्वेंटरी सिस्टम में ceil
का उपयोग हो सकता है ताकि सब कुछ हिसाब में रहे।
Arduino में इन फंक्शन्स की कार्यान्वयन सीधा है; वे विशिष्ट दशमलव स्थानों तक गोल करने जैसे अतिरिक्त मामलों को संभालते नहीं हैं। इसके लिए एक कस्टम फंक्शन या अधिक गणितीय विचार की आवश्यकता होती है—दशमलव को शिफ्ट करने, गोल करने, फिर वापस विभाजित करने के बारे में सोचें।
गोलाई-बंद त्रुटियाँ जमा हो सकती हैं, जिससे लंबी गणनाओं या पुनरावृत्ति प्रक्रियाओं में महत्वपूर्ण प्रभाव पड़ सकता है। गोल किए गए मूल्यों पर कई ऑपरेशन चलाते समय प्रोग्रामर्स को सतर्क रहने की आवश्यकता होती है।
यह भी देखें:
- गोलाई के जाल और रणनीतियों पर गहन दृष्टिकोण: फ्लोटिंग पॉइंट गाइड
- कस्टम गोलाई फंक्शन्स और गोलाई-बंद त्रुटि से निपटाने सहित उन्नत तकनीकों के लिए, आप शैक्षिक संसाधनों या विस्तृत प्रोग्रामिंग गाइड की जाँच कर सकते हैं।