पूर्णांक बनाम फ्लोटिंग-पॉइंट प्रकार
आकार, परास और सटीकता के बीच के समझौतों को समझकर सही संख्यात्मक प्रकार चुनें।
पूर्णांक बनाम फ्लोटिंग-पॉइंट प्रकार, CoddyKit पर C++ Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह C++ Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
संख्याओं की दो दुनियाएँ
C++ में संख्यात्मक प्रकारों के दो परिवार हैं: पूर्णांक (भिन्नरहित और सटीक) तथा फ़्लोटिंग-पॉइंट (भिन्नों सहित, अनुमानित)। काम के अनुसार सही परिवार चुनें।
पूर्णांक प्रकार
64-बिट प्रणालियों पर अंतर्निहित पूर्णांक प्रकार और उनके सामान्य आकार:
char— 1 बाइटshort— 2 बाइटint— 4 बाइटlong— 4 या 8 बाइटlong long— 8 बाइट
साइनयुक्त बनाम साइन-रहित
ऋणात्मक सीमा हटाने के लिए unsigned जोड़ें। साइन-रहित अंकगणित 2^N के मॉड्यूलो में चक्रीय हो जाती है — कभी उपयोगी, लेकिन अक्सर अनजाने जोखिम का कारण।
unsigned int u = 0;
u -= 1; // wraps around to 4,294,967,295निश्चित-चौड़ाई वाले पूर्णांक
जब आपको सटीक आकार चाहिए — जैसे प्रोटोकॉल, फ़ाइल प्रारूप या प्लेटफ़ॉर्म पोर्टेबिलिटी के लिए — तब <cstdint> में दिए गए प्रकारों का उपयोग करें।
#include <cstdint>
int8_t tiny = 100;
int32_t word = 100000;
int64_t big = 1LL << 40;
uint64_t huge = 18446744073709551615ULL;फ़्लोटिंग-पॉइंट प्रकार
बढ़ती सटीकता वाले तीन फ़्लोटिंग प्रकार:
float— 32-बिट, लगभग 7 दशमलव अंकdouble— 64-बिट, लगभग 15 दशमलव अंकlong double— सामान्यतः 80 या 128 बिट
IEEE 754 प्रारूप
फ़्लोट IEEE 754 मानक का पालन करते हैं: चिह्न, घातांक और मैन्टिसा। वे बहुत बड़े और बहुत छोटे मान दर्शा सकते हैं, लेकिन बिल्कुल सटीक नहीं।
फ़्लोटिंग-पॉइंट की कमियाँ
अधिकांश दशमलव संख्याओं को बाइनरी में बिल्कुल सटीक रूप से दर्शाया नहीं जा सकता। 0.1 + 0.2 बिल्कुल 0.3 के बराबर नहीं होता।
double sum = 0.1 + 0.2;
std::cout << (sum == 0.3); // false on most systems
std::cout << sum; // 0.3 but printed approximatelyफ़्लोट की सुरक्षित तुलना
फ़्लोट की तुलना कभी भी == से न करें। एक छोटी सहनशीलता (एप्सिलॉन) के भीतर तुलना करें।
bool approxEqual(double a, double b, double eps = 1e-9) {
return std::abs(a - b) < eps;
}विशेष फ़्लोट मान
फ़्लोट के तीन विशेष मान होते हैं: NaN (संख्या नहीं), +inf और -inf। इन्हें जाँचने के लिए <cmath> में दिए गए predicates का उपयोग करें।
#include <cmath>
double x = std::sqrt(-1.0);
if (std::isnan(x)) std::cout << "Not a number";
if (std::isinf(x)) std::cout << "Infinity";किसे कब उपयोग करें
क्षेत्र के अनुसार चुनें:
- गिनतियाँ और इंडेक्स →
intयाsize_t - वैज्ञानिक या ग्राफ़िकल गणित →
double - धनराशि → कभी भी
doubleनहीं! स्केल किए गए पूर्णांक (सेंट) या दशमलव लाइब्रेरी का उपयोग करें
प्रकार के आकार प्लेटफ़ॉर्म के अनुसार बदलते हैं
मानक केवल न्यूनतम आकार की गारंटी देता है। int 16, 32 या 64 बिट का हो सकता है। पोर्टेबिलिटी के लिए डेटा संरचनाओं में <cstdint> के निश्चित-चौड़ाई वाले प्रकारों का उपयोग करें।
त्वरित जाँच
धनराशि को सटीक रूप से दर्शाने के लिए किस प्रकार का उपयोग करना चाहिए?
पुनरावलोकन
पूर्णांक सटीक होते हैं; फ़्लोट अनुमानित होते हैं। गिनतियों के लिए int या निश्चित-चौड़ाई वाले पूर्णांक, वैज्ञानिक गणित के लिए double चुनें, और धनराशि के लिए फ़्लोट का उपयोग कभी न करें। फ़्लोट की तुलना सहनशीलता के साथ करें, कभी भी == से नहीं।
एआई शिक्षक के साथ C++ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “पूर्णांक बनाम फ्लोटिंग-पॉइंट प्रकार” पाठ निःशुल्क है?
हाँ — C++ Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “पूर्णांक बनाम फ्लोटिंग-पॉइंट प्रकार” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“पूर्णांक बनाम फ्लोटिंग-पॉइंट प्रकार” में मैं क्या सीखूँगा?
आकार, परास और सटीकता के बीच के समझौतों को समझकर सही संख्यात्मक प्रकार चुनें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C++ Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या C++ Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C++ Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“पूर्णांक बनाम फ्लोटिंग-पॉइंट प्रकार” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस C++ Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर C++ Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- पूर्णांक बनाम फ्लोटिंग-पॉइंट प्रकार
- cmath हेडर: pow, sqrt, abs, round
- random हेडर से यादृच्छिक संख्याएँ
- संख्यात्मक सीमाएँ और अतिप्रवाह का व्यवहार