C भाषा मा गोलाईको पूर्ण व्याख्या | round फंक्शन र म्यानुअल इम्प्लिमेन्टेशन

1. Rounding को आधारभूत: किन आवश्यक छ

प्रोग्रामिङमा, संख्यात्मक शुद्धतालाई उपयुक्त रूपमा नियन्त्रण गर्नु अत्यन्त महत्वपूर्ण छ। विशेष गरी, गणनाको परिणाममा दशमलव बिन्दु समावेश भएको अवस्थामा, राउन्डिङ प्रयोग गरेर संख्याको गोलाई प्रक्रिया गरिन्छ, जसले स्पष्ट र व्यवस्थित परिणाम प्राप्त गर्न मद्दत गर्छ। उदाहरणका लागि, रकमको गणना वा मापन डेटा सङ्कलन जस्ता विभिन्न परिस्थितिहरूमा राउन्डिङ प्रयोग गरिन्छ।

राउन्डिङको विशिष्ट उदाहरण

उदाहरणका लागि, 2.5 लाई राउन्डिङ गर्दा 3 हुन्छ, तर 2.3 लाई राउन्डिङ गर्दा 2 हुन्छ। यस्तो प्रक्रिया दैनिक जीवनमा पनि प्रायः देखिन्छ। प्रोग्रामिङ संसारमा पनि, यसरी गणनाको परिणामलाई सरल बनाउने धेरै परिस्थितिहरू छन्।

2. C भाषा मा गोलाई गर्ने तरिका

C भाषा मा गोलाई गर्नको लागि, math.h लाइब्रेरीमा समावेश गरिएको round() फङ्क्शन प्रयोग गर्नुहोस्। यो फङ्क्शनले, आर्गुमेन्टको रूपमा पास गरिएको दशमलव सहितको मानलाई सबैभन्दा नजिकको पूर्णांकमा गोलाई गरेर फिर्ता गर्छ।

round() फङ्क्शनको आधारभूत प्रयोग

नीचेमा round() फङ्क्शन प्रयोग गरेर आधारभूत उदाहरण देखाइन्छ।

#include <stdio.h>
#include <math.h>

int main() {
    double x = 2.5;
    printf("राउन्ड गरिएको परिणाम: %fn", round(x));
    return 0;
}

यो प्रोग्राम चलाउँदा, आउटपुट “गोलाईको परिणाम: 3.000000” हुन्छ। यो, round() फङ्क्शनले 2.5 लाई सबैभन्दा नजिकको पूर्णांक 3 मा गोलाई गरेको परिणाम हो। math.h लाइब्रेरीको इन्क्लुड गर्न नबिर्सनुहोस्।

侍エンジニア塾

3. अंकको संख्या निर्दिष्ट गरेर गोलाई

C भाषामा, दशमलव बिन्दु पछिको अंक संख्या निर्दिष्ट गरेर गोलाई गर्न केही उपाय आवश्यक पर्छ। निश्चित अंक संख्यामा गोलाई गर्नको सामान्य विधि भनेको अंक संख्यालाई 10 को गुणकमा रूपान्तरण गरी, अस्थायी रूपमा पूर्णांक बनाइ, गोलाई गरी, त्यसपछि मूल अंक संख्यामा फिर्ता ल्याउने हो।

अंक संख्या निर्दिष्ट गर्नको कोड उदाहरण

#include <stdio.h>
#include <math.h>

int main() {
    double num = 123.456;
    num = num * 100;  // दशमलवको दोश्रो अंकसम्म पूर्णांकमा परिवर्तन
    double result = round(num) / 100;  // गोलाकार गरेर मूल अङ्कसंख्या फिर्ता गर्ने
    printf("%.2fn", result);  // परिणाम 123.46 हो
    return 0;
}

यो प्रोग्राममा, num मा 100 गुणा गरेर दशमलव बिन्दु पछिको 2 अंकलाई पूर्णांक भागमा सारिन्छ, त्यसपछि round() फलन प्रयोग गरेर गोलाई गरिन्छ, र मूल अंक संख्यामा फिर्ता ल्याउन फेरि 100 ले भाग गरिन्छ। यस उदाहरणमा, 123.456 लाई 123.46 मा गोलाई गरिन्छ।

4. Function प्रयोग नगरी राउन्डिङ

C भाषा मा, round() function प्रयोग नगरी पनि, राउन्डिङ कार्यान्वयन गर्न सम्भव छ। यस अवस्थामा, 0.5 थपेर int प्रकारमा कास्ट गर्दा, पूर्णांकमा गोलो गर्न सकिन्छ।

हातले राउन्डिङ गर्ने तरिका

#include <stdio.h>

int main() {
    double num = 2.3;
    int rounded = (int)(num + 0.5);
    printf("गोलाकार गरिएको परिणाम: %dn", rounded);
    return 0;
}

यो कोडमा, 2.3 मा 0.5 थपेर 2.8 बनाइन्छ, र int प्रकारमा कास्ट गर्दा, 2 परिणाम प्राप्त हुन्छ। 0.5 थपेर राउन्डिङ सही रूपमा गरिन्छ। यो विधि round() function प्रयोग नगर्ने वैकल्पिक उपायको रूपमा उपयोगी छ।

5. नकारात्मक संख्याहरूको गोलाई

सकारात्मक संख्याहरू मात्र होइन, नकारात्मक संख्याहरूलाई पनि समान रूपमा गोलाई गर्न सकिन्छ, तर कहिलेकाहीँ यो सहज नहुन सक्छ। उदाहरणका लागि, -2.5 को गोलाई परिणाम -2 होइन, -3 हुन्छ। C भाषा को round() फङ्क्शनमा, नकारात्मक संख्याहरूमा पनि निर्धारित अनुसार गोलाई गरिन्छ।

नकारात्मक संख्यालाई गोलाई गर्ने उदाहरण

#include <stdio.h>
#include <math.h>

int main() {
    double num = -2.5;
    printf("राउन्ड गरिएको परिणाम: %fn", round(num));
    return 0;
}

यो प्रोग्राम चलाउँदा, -2.5 लाई -3.0 मा गोलाई गरिन्छ। यो नकारात्मक संख्यामा पनि समान नियम लागू हुने कारण हो। यस व्यवहारमा ध्यान दिनुहोस्, र नकारात्मक संख्याहरूलाई ह्यान्डल गर्दा इच्छित परिणाम प्राप्त भएको सुनिश्चित गर्नुहोस्।

6. C भाषामा अन्य राउन्डिङ्ग प्रक्रिया

राउन्डिङ्गमा, गोलाई बाहेक पनि, तलकोतिर (floor) वा माथिकोतिर (ceil) जस्ता विधिहरू छन्। C भाषामा, math.h लाइब्रेरीको floor() फङ्क्शनले तलकोतिर, ceil() फङ्क्शनले माथिकोतिर गर्न सकिन्छ।

तलकोतिर र माथिकोतिरको उदाहरण

#include <stdio.h>
#include <math.h>

int main() {
    double num = 2.7;
    printf("छाट्ने: %fn", floor(num));  // परिणाम 2.0 हो
    printf("उठाउने: %fn", ceil(num));   // परिणाम 3.0 हो
    return 0;
}

यस प्रोग्राममा, 2.7 लाई floor() फङ्क्शनले तलकोतिर गर्दा 2.0 हुन्छ, र ceil() फङ्क्शनले माथिकोतिर गर्दा 3.0 हुन्छ।floor() ले दशमलव भागलाई बेवास्ता गरेर मानलाई तलकोतिर घटाउँछ, ceil() ले माथिकोतिर बढाउँछ।

7. सारांश

सी भाषामा राउन्डिङ प्रक्रिया, math.h लाइब्रेरीको round() फङ्सन प्रयोग गरेर सजिलै गर्न सकिन्छ। विशिष्ट अंकको राउन्ड वा नकारात्मक संख्याहरूलाई ह्यान्डल गर्दा थोरै उपाय आवश्यक पर्छ, तर उपयुक्त रूपमा कार्यान्वयन गरेमा लचिलो संख्यात्मक प्रक्रिया सम्भव हुन्छ। कट र अप पनि प्रयोगको आधारमा फरक-फरक प्रयोग गरेर, अझ व्यापक संख्यात्मक प्रक्रिया गर्न सकिन्छ।

侍エンジニア塾