Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

क्या C और C++ में 'long' डेटा टाइप की कोई आवश्यकता है?


C या C++ में, पूर्णांक प्रकार के डेटा के लिए चार अलग-अलग डेटा टाइप उपयोग किए जाते हैं। ये चार डेटा टाइप हैं short, int, long और long long। इनमें से प्रत्येक डेटा टाइप अलग-अलग मेमोरी स्पेस लेता है। आकार विभिन्न आर्किटेक्चर और विभिन्न ऑपरेटिंग सिस्टम में भिन्न होता है। कभी-कभी int 4-बाइट लेता है या कभी-कभी यह 2-बाइट लेता है। यह कंपाइलर्स के लिए भी होता है। इसलिए हम क्रॉस कंपाइलर्स का उपयोग कर सकते हैं।

क्रॉस कंपाइलर मूल रूप से एक कंपाइलर है, जो वर्तमान प्लेटफॉर्म के अलावा किसी अन्य प्लेटफॉर्म के लिए कंपाइल करने में सक्षम है।

इसलिए यदि हम निम्नलिखित कोड को 32-बिट सिस्टम और 64-बिट सिस्टम में कंपाइल करना चाहते हैं, तो यह अलग-अलग आउटपुट उत्पन्न करेगा।

उदाहरण

#include<stdio.h> int main() {    printf("Size of int : %ld Bytes\n", sizeof(int));    printf("Size of long : %ld Bytes\n", sizeof(long));    printf("Size of long long : %ld Bytes", sizeof(long long)); }

आउटपुट

Size of int : 4 Bytes Size of long : 4 Bytes Size of long long : 8 Bytes

आउटपुट

Size of int : 4 Bytes Size of long : 8 Bytes Size of long long : 8 Bytes

इस उदाहरण से हम आसानी से समझ सकते हैं कि long डेटा टाइप कंपाइलर से भिन्न होता है। इसके पीछे क्या कारण है?

CPU मेमोरी एड्रेस रजिस्टर (MAR) का एड्रेस प्रदान करके प्राइमरी मेमोरी (RAM) से डेटा कॉल करता है। जब स्थान मिल जाता है, तो इसे मेमोरी बफर रजिस्टर (MBR) में स्थानांतरित कर दिया जाता है। डेटा आगे के उपयोग के लिए CPU रजिस्टर में संग्रहीत होता है। इसलिए डेटा बस का आकार CPU रजिस्टर का आकार निर्धारित करता है। 32-बिट सिस्टम के लिए, यह एक समय में केवल 4-बाइट डेटा कॉल कर सकता है। यदि डेटा 32-बिट से बड़ा है, तो इसे दो साइकिल लगेंगी। इसलिए छोटे डेटा के लिए यह कोई अंतर नहीं डालता।


  1. - C और C++ में स्ट्रिंग लिटरल्स का प्रकार क्या है?

    C में स्ट्रिंग लिटरल का प्रकार char[] होता है। C++ में, एक साधारण स्ट्रिंग लिटरल का प्रकार array of n const char होता है। उदाहरण के लिए, स्ट्रिंग लिटरल Hello का प्रकार array of 6 const char होता है। हालांकि, इसे ऐरे-टू-पॉइंटर रूपांतरण द्वारा const char* में परिवर्तित किया जा सकता है। ध्यान दें कि ऐ

  1. - C++ में प्रिमिटिव डेटा टाइप्स क्या हैं?

    एक प्रिमिटिव प्रकार एक डेटा प्रकार है जहां यह जिन मानों को दर्शा सकता है उनकी प्रकृति बहुत सरल होती है (एक संख्या, एक कैरेक्टर या एक ट्रुथ-वैल्यू); प्रिमिटिव प्रकार किसी भी प्रोग्रामिंग भाषा के सबसे बुनियादी बिल्डिंग ब्लॉक्स होते हैं और अधिक जटिल डेटा प्रकारों का आधार होते हैं। C++ में निम्न प्रिमि

  1. - C++ में वेरिएबल्स और उनके प्रकार क्या हैं?

    एक वेरिएबल हमें नामित स्टोरेज प्रदान करता है जिसे हमारे प्रोग्राम मैनिपुलेट कर सकते हैं। C++ में प्रत्येक वेरिएबल का एक विशिष्ट प्रकार होता है, जो वेरिएबल की मेमोरी के आकार और लेआउट को निर्धारित करता है; उस मेमोरी में संग्रहीत किए जा सकने वाले मानों की सीमा; और वेरिएबल पर लागू किए जा सकने वाले ऑपरे