The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
दशमलव स्थानों के साथ संख्याएँ रखने वाले प्रकार - फ्लोट, डबल
इन डेटा प्रकारों को अक्सर फ़्लोटिंग-पॉइंट डेटा प्रकार कहा जाता है। इन संख्याओं को फ़्लोटिंग-पॉइंट संख्या कहा जाता है।
फ्लोट एफवर = 50.15; डबल ड्वार = 50.0;
फ़्लोटिंग-पॉइंट डेटा प्रकार की तुलना करें – फ़्लोट और डबल
फ्लोट और डबल डेटा प्रकार के बीच का अंतर दशमलव स्थानों की संख्या की सटीकता के बारे में है।
VexOS - ARM 7 विनिर्देशके आधार पर, फ्लोट 6 या 7 स्थानों को संभाल सकता है, और डबल 15 या 16 को संभाल सकता है।
फ्लोट: वर्तमान V5os में, नियंत्रक 8 दशमलव स्थानों तक की परिशुद्धता की अनुमति देता है।
उदाहरण के लिए
फ्लोट fvar1 = 1.12345670; फ्लोट fvar2 = 1.12345678;
fval1, fvar2 से भिन्न है,
बनाम
फ्लोट fvar1 = 1.123456780; फ्लोट fvar2 = 1.123456781;
fval1 का मूल्यांकन fvar2 के समान ही किया जाएगा।
डबल: 17 दशमलव स्थानों तक परिशुद्धता की अनुमति देता है।
उदाहरण के लिए
डबल dvar1 = 1.12345678912345678; डबल dvar2 = 1.12345678912345670;
dval1 dvar2 से भिन्न है,
बनाम
डबल dvar1 = 1.123456789123456789; डबल dvar2 = 1.123456789123456780;
dval1 का मूल्यांकन dvar2 के समान ही किया जाएगा।
जब तक आपको उच्च परिशुद्धता की आवश्यकता न हो, "डबल" का उपयोग न करें
दो कारण हैं कि आपको "डबल" का प्रयोग नहीं करना चाहिए, जब तक कि आपको उच्च परिशुद्धता की आवश्यकता न हो:
- यह 2X फ्लोट प्रकार लेता है।
- इसमें बहुत अधिक प्रसंस्करण शक्ति की आवश्यकता होती है।
वेक्सओएस - एआरएम 7 विनिर्देशके आधार पर, एक फ्लोट 6 या 7 स्थानों को संभाल सकता है, और एक डबल 15 या 16 को संभाल सकता है। किसी भी स्थिति में, आपको डबल या फ्लोट में अंतिम अंकों की सटीकता पर भरोसा नहीं करना चाहिए। इसे "फ्लोट-पॉइंट गणना" (जो इस लेख के दायरे से बाहर है) नामक चीज़ के कारण "int" को संग्रहीत करने से बहुत अलग तरीके से संग्रहीत किया जाता है।
इस प्रकार, संभवतः आप अंतिम कुछ दशमलव स्थानों पर सटीकता खो सकते हैं।
डबल पर ऑपरेशन फ्लोट की तुलना में काफी महंगा है, और फ्लोटिंग-पॉइंट गणना नामक चीज के कारण "पूर्णांक" की तुलना में बहुत अधिक है।
IEEE मानक के आधार पर, निम्नलिखित अधिक विश्वसनीय सीमा के भीतर है।
| प्रकार | सबसे छोटा धनात्मक मान | सबसे बड़ा सकारात्मक मान | # परिशुद्धता की |
|---|---|---|---|
| तैरना | 10 -38 x 1.17549 | 10 38 x 3.40282 | 6 अंक |
| दोहरा | 10 -308 या 2.22507 | 10 308 x 1.79769 | 15 अंक |
क्या आप आदिम डेटा प्रकारों का आदान-प्रदान कर सकते हैं? - कास्टिंग
डेटा प्रकारों का आदान-प्रदान संभव है। इस तकनीक को “कास्टिंग” कहा जाता है। यद्यपि कास्टिंग एक सामान्य अभ्यास है, लेकिन ऐसा केवल तभी करें जब यह आवश्यक हो।
सबसे आम प्रथाओं में से एक है char और int का आदान-प्रदान करना।
ऐसा इसलिए है क्योंकि वे दोनों एक अपवाद के साथ पूर्णांक मानों का प्रतिनिधित्व करते हैं:
- “int” में 4-बाइट्स (या कुछ कंपाइलर में 8-बाइट्स) होते हैं
- “char” में केवल 1-बाइट होता है।
तो, उदाहरण के लिए
चार अवल = 100; int iVal = aVal; // अंतर्निहित कास्टिंग
या
int iVal = (char) aVal; // स्पष्ट कास्टिंग.
अंतर्निहित कटौती के लिए सावधानी:
उदाहरण के लिए
एक अन्य सामान्य अभ्यास int और float का आदान-प्रदान करना है
फ्लोट fVal = 5.486; फ्लोट अंश = fVal - (int)fVal; //यह करता है: 5.486 - 5
अंतर्निहित कटौती के लिए सावधानी:
उदाहरण के लिए
int iVal = 50; फ्लोट fVal = iVal / 100;
अब fVal = 0.0, 0.5 नहीं.
अंतर्निहित कटौती का लाभ उठाना बिल्कुल ठीक है, जो अक्सर कुछ परिदृश्यों में परिचालन का एक महत्वपूर्ण हिस्सा होता है। हालाँकि, आपको यह सुनिश्चित करना होगा कि आप इस तकनीक का उपयोग डिज़ाइन के अनुसार कर रहे हैं।
यदि आप नहीं चाहते कि अंतर्निहित कटौती हो, तो आपको स्पष्ट कास्टिंग करनी होगी:
- अंतर्निहित कास्टिंग:
फ्लोट fVal = iVal / 100.0; - स्पष्ट कास्टिंग:
फ्लोट fVal = (फ्लोट) iVal / 100