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

C++ में टाइप कन्वर्जन


यहां हम देखेंगे कि C++ में कौन सी टाइप कन्वर्जन तकनीकें मौजूद हैं। मुख्य रूप से दो प्रकार के टाइप कन्वर्जन हैं। अंतर्निहित (इम्प्लिसिट) और स्पष्ट (एक्सप्लिसिट)।

  • अंतर्निहित टाइप कन्वर्जन

    इसे स्वचालित टाइप कन्वर्जन के रूप में भी जाना जाता है। यह कंपाइलर द्वारा उपयोगकर्ता की ओर से किसी बाहरी ट्रिगर के बिना किया जाता है। यह तब किया जाता है जब एक अभिव्यक्ति में एक से अधिक डेटाटाइप मौजूद होते हैं।

    सभी डेटाटाइप को बड़े वेरिएबल के डेटाटाइप में अपग्रेड किया जाता है।

bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

अंतर्निहित कन्वर्जन में, कुछ जानकारी खो सकती है। साइन खो सकता है आदि।

उदाहरण

#include <iostream> 
using namespace std; 

int main() { 
    int a = 10; 
    char b = 'a'; 
    a = b + a; 
    float c = a + 1.0; 
    cout << "a : " << a << "\nb : " << b << "\nc : " << c; 
}

आउटपुट

a : 107 b : a c : 108

स्पष्ट टाइप कन्वर्जन

इसे टाइप कास्टिंग के रूप में भी जाना जाता है। यहां उपयोगकर्ता परिणाम को टाइपकास्ट कर सकता है ताकि यह विशेष डेटाटाइप का हो जाए। C++ में हम इसे दो तरीकों से कर सकते हैं, या तो पैरेंथेसिस में अभिव्यक्ति का उपयोग करके या static_cast या dynamic_cast का उपयोग करके

उदाहरण

#include <iostream> 
using namespace std; 

int main() { 
    double x = 1.574; 
    int add = (int)x + 1; 
    cout << "Add: " << add; 
    float y = 3.5; 
    int val = static_cast(y); 
    cout << "\nvalue: " << val; 
}

आउटपुट

Add: 2 value: 3

  1. C++ में लाइन रिफ्लेक्शन - Y-अक्ष के समानांतर सममित रेखा जांचें C++ में लाइन रिफ्लेक्शन - Y-अक्ष के समानांतर सममित रेखा जांचें

    समस्या विवरण मान लीजिए हमारे पास 2D तल पर n बिंदु हैं, हमें जांचना है कि क्या y-अक्ष के समानांतर कोई रेखा है जो दिए गए बिंदुओं को सममित रूप से प्रतिबिंबित करती है, दूसरे शब्दों में, जांचें कि क्या कोई ऐसी रेखा मौजूद है जो सभी बिंदुओं को दी गई रेखा पर प्रतिबिंबित करने के बाद मूल बिंदुओं का समुच्चय प

  1. C++ में डायगोनल ट्रैवर्स II C++ में डायगोनल ट्रैवर्स II

    मान लीजिए हमारे पास nums नामक लिस्ट ऑफ लिस्ट है, हमें nums के सभी एलिमेंट्स को डायगोनल क्रम में दिखाना है।इसलिए, यदि इनपुट हैतो आउटपुट होगा [1,6,2,8,7,3,9,4,12,10,5,13,11,14,15,16]इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे:एक ऐरे ret परिभाषित करेंएक 2D ऐरे v परिभाषित करेंi := 0 से शुरू करें,

  1. C++ में ऑक्टल से डेसिमल रूपांतरण C++ में ऑक्टल से डेसिमल रूपांतरण

    एक ऑक्टल संख्या इनपुट के रूप में दी गई है, कार्य दी गई ऑक्टल संख्या को डेसिमल संख्या में बदलना है। कंप्यूटर में डेसिमल संख्याओं को आधार 10 के साथ दर्शाया जाता है और ऑक्टल संख्या को आधार 8 के साथ दर्शाया जाता है जो अंक 0 से 7 तक होती है जबकि डेसिमल संख्याएं 0-9 से शुरू होने वाला कोई भी संख्यात्मक अंक