C भाषा को double प्रकारको पूर्ण मार्गदर्शिका

目次

1. C भाषा मा double प्रकारको सारांश

double प्रकार के हो

doubleप्रकार C भाषा मा फ्लोटिङ पोइन्ट संख्याहरूलाई ह्यान्डल गर्नको लागि डेटा प्रकार हो। 64 बिट (8 बाइट) मेमोरी प्रयोग गर्छ र अत्यन्त उच्च शुद्धता तथा विस्तृत दायरा भएका संख्याहरूलाई ह्यान्डल गर्न सक्छ। यी विशेषताहरूको कारण, विज्ञान गणना, वित्तीय गणना जस्ता शुद्धता महत्त्वपूर्ण हुने परिस्थितिहरूमा यो व्यापक रूपमा प्रयोग हुन्छ।

float प्रकारसँगको भिन्नता

floatfloat प्रकार 32 बिट (4 बाइट) मेमोरी प्रयोग गर्छ र लगभग 7 अंकको शुद्धता हुन्छ। एकतरफ, double प्रकार लगभग 15 अंकको शुद्धता हुन्छ र थप विस्तृत गणना आवश्यक परेमा उपयुक्त हुन्छ। साथै, double प्रकारले float प्रकारको तुलनामा विस्तृत दायरा भएका संख्याहरूलाई अभिव्यक्त गर्न सक्छ।

2. double प्रकारको आधारभूत

double प्रकारको घोषणा र आरम्भिकरण

double प्रकारको भेरिएबल घोषणा गर्ने तरिका तलको जस्तै छ।

double myNumber;
double myNumber = 3.14159;

यसरी, double प्रकारको भेरिएबलमा वास्तविक संख्या असाइन गर्न सम्भव छ। साथै, घातांक स्वरूप प्रयोग गरेर संख्यालाई आरम्भिकरण गर्न पनि सकिन्छ।

double largeNumber = 1.23e4; // 1.23 × 10^4

double प्रकारको मेमोरी आकार र दायरा

double प्रकारले 64 बिट (8 बाइट) प्रयोग गर्दछ, लगभग ±1.7E±308 दायरा भएको संख्याहरूलाई ह्यान्डल गर्न सक्छ। यस कारणले, अत्यन्त ठूलो संख्याहरू वा दशमलव तलको सटीकता आवश्यक संख्याहरूलाई प्रतिनिधित्व गर्न सकिन्छ।

3. double प्रकारको गणना र कास्ट

अंकगणितीय अपरेसन

double प्रकारले, थप, घट, गुणा, भाग जस्ता आधारभूत अंकगणितीय अपरेसनहरूलाई समर्थन गर्दछ।

double a = 5.5;
double b = 2.0;
double sum = a + b;
double difference = a - b;
double product = a * b;
double quotient = a / b;

कास्ट र प्रकार रूपान्तरण

अन्य डेटा प्रकारहरूबाट double प्रकारमा रूपान्तरण गर्दा कास्ट प्रयोग गरिन्छ। कास्ट प्रयोग गरेर, पूर्णांकलाई फ्लोटिङ‑प्वाइन्ट संख्यामा रूपान्तरण गरी, उच्च सटीकताको गणना गर्न सम्भव हुन्छ।

int intVal = 10;
double doubleVal = (double)intVal;

कास्ट बिर्सिएमा, पूर्णांक प्रकारको गणनामा दशमलव भाग काटिनेछ, त्यसैले सावधान रहनु आवश्यक छ।

4. double प्रकारको इनपुट र आउटपुट

printf कार्यद्वारा आउटपुट

double प्रकारको मानलाई printf कार्यद्वारा आउटपुट गर्दा, फर्म्याट स्पेसिफायर %lf प्रयोग गर्नुहोस्। साथै, घातांक प्रदर्शन गर्न चाहनुहुन्छ भने %le, अनुकूलतम स्वरूपमा देखाउन चाहनुहुन्छ भने %lg प्रयोग गर्न सकिन्छ।

double pi = 3.14159;
printf("पाई: %lfn", pi);
printf("घाताङ्क प्रदर्शन: %len", pi);
printf("उपयुक्त प्रदर्शन: %lgn", pi);

scanf कार्यद्वारा इनपुट र त्रुटि जाँच

प्रयोगकर्ताबाट double प्रकारको मान इनपुट गर्दा, scanf कार्य र फर्म्याट स्पेसिफायर %lf प्रयोग गर्नुहोस्। साथै, इनपुट गर्दा त्रुटि उत्पन्न भएमा त्रुटि जाँच गर्नु महत्त्वपूर्ण छ।

double radius;
printf("वृत्तको अर्धव्यास प्रविष्ट गर्नुहोस्: ");
if (scanf("%lf", &radius) != 1) {
printf("इनपुट त्रुटि भयोn");
return 1;
}
printf("प्रविष्ट अर्धव्यास: %lfn", radius);

5. double प्रकारको दायरा र शुद्धता

double प्रकारको न्यूनतम मान र अधिकतम मान

double प्रकारको न्यूनतम मान र अधिकतम मान, हेडर फाइलमा परिभाषित DBL_MINDBL_MAX प्रयोग गरेर प्राप्त गर्न सकिन्छ।

printf("double प्रकारको न्यूनतम मान: %en", DBL_MIN);
printf("double प्रकारको अधिकतम मान: %en", DBL_MAX);

शुद्धताको सीमाहरू र सावधानीहरू

double प्रकारले लगभग 15 अंकको शुद्धता राख्छ, तर फ्लोटिङ पोइन्ट गणनामा गोलाई त्रुटि हुन सक्छ। विशेष गरी, अत्यन्त साना वा ठूला संख्याहरूको गणना दोहोर्याउँदा, शुद्धताको ह्रासमा ध्यान दिनु आवश्यक छ।

6. double प्रकारको व्यावहारिक उदाहरण

वृत्तको क्षेत्रफल गणना

doubleप्रकारलाई प्रयोग गरेर, वृत्तको क्षेत्रफल गणना गर्ने उदाहरण देखाइन्छ।

double radius = 5.5;
double area = 3.14159 * radius * radius;
printf("वृत्तको क्षेत्रफल: %lfn", area);

संख्यात्मक तुलना

doubleप्रकारलाई प्रयोग गरेर, संख्याहरूको ठूलो‑सानो तुलना गर्न सकिन्छ।

double x = 3.14;
double y = 2.71;
if (x > y) {
printf("x ले y भन्दा ठूलो छn");
} else {
printf("x ले y भन्दा सानो छn");
}

विज्ञानिक गणनामा प्रयोग

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

double result = log(10.0); // प्राकृतिक लघुगणक गणना
printf("लघुगणक(१०): %lfn", result);

7. सामान्य त्रुटिहरू र ध्यान दिनुपर्ने बुँदाहरू

इन्टिजर भागफल र double प्रकार

इन्टिजरलाई double प्रकारमा असाइन गर्दा, इन्टिजरहरू बीच भाग गर्दा दशमलव भाग काटिने सम्भावना हुन्छ।

double d = 2 / 3; // परिणाम 0.0000

यो समस्या कास्ट प्रयोग गरेर double प्रकारको रूपमा गणना गराएर समाधान गर्न सकिन्छ।

double d = (double)2 / 3; // सही रूपमा 0.6666… प्रदर्शित हुन्छ

गणना त्रुटिको ह्यान्डलिंग

double प्रकारको गणनामा, शून्यले भाग गर्ने वा ओभरफ्लो जस्ता त्रुटिहरू हुन सक्छन्। यस्ता त्रुटिहरूलाई सामना गर्न, उचित त्रुटि जाँच गर्नु महत्त्वपूर्ण छ।

double a = 10.0;
double b = 0.0;
if (b != 0.0) {
double result = a / b;
printf("परिणाम: %lfn", result);
} else {
printf("शून्यद्वारा विभाजन सम्भव छैन।n");
}

प्रदर्शन विचार

double प्रकारले उच्च शुद्धता प्रदान गर्दछ, तर त्यसको कारण float प्रकारको तुलनामा प्रक्रिया गति ढिलो हुन सक्छ। यदि गणनाको शुद्धता त्यति आवश्यक छैन भने, float प्रकार प्रयोग गर्दा प्रदर्शन सुधारको अपेक्षा गर्न सकिन्छ।

8. सारांश

doubleप्रकार उच्च-शुद्धताका फ्लोटिङ पोइन्ट संख्याहरूलाई ह्यान्डल गर्दा अनिवार्य डेटा प्रकार हो। यस लेखमा, doubleप्रकारको आधारभूतदेखि व्यावहारिक उदाहरण, त्रुटि ह्यान्डलिङ, प्रदर्शन विचारसम्मलाई समग्र रूपमा व्याख्या गरिएको छ। doubleप्रकारको विशेषताहरूलाई बुझेर, उपयुक्त रूपमा प्रयोग गर्दा, अझ उच्च शुद्धताका प्रोग्रामहरू निर्माण गर्न सकिन्छ।

年収訴求