Decimal data type
कुछ प्रोग्रामिंग भाषाएँ (या उनके लिए संकलक) एक अंतर्निहित (आदिम) या पुस्तकालय दशमलव डेटा प्रकार प्रदान करती हैं जो बिना गोल किए 0.3 और-1.17 जैसे गैर-दोहराए जाने वाले दशमलव अंशों का प्रतिनिधित्व करती हैं, और उन पर अंकगणित करती हैं। उदाहरण पायथन के decimal.Decimal प्रकार हैं, और अन्य भाषाओं द्वारा प्रदान किए गए अनुरूप प्रकार हैं। रैशनल फ्रैक्शनल नंबरों को अधिकांश प्रोग्रामिंग भाषाओं में फ्लोटिंग-पॉइंट नंबर या फिक्स्ड-पॉइंट नंबर के रूप में समर्थित किया जाता है। हालांकि, इस तरह के प्रतिनिधित्व आम तौर पर भाजक को दो की शक्ति तक सीमित करते हैं। अधिकांश दशमलव अंशों (या सामान्य रूप से अधिकांश अंशों) को एक विभाजक के साथ एक अंश के रूप में बिल्कुल नहीं दर्शाया जा सकता है जो दो की घात है। उदाहरण के लिए, सरल दशमलव अंश 0.3 (3/10) को 5404319552844595/18014398509481984 (0.299999999999999988897769) के रूप में दर्शाया जा सकता है। यह अक्षमता कई समस्याओं का कारण बनती है जो अनुभवी प्रोग्रामरों से परिचित हैं। उदाहरण के लिए, दशमलव के प्रतिनिधित्व की अक्षमता के कारण कुछ प्रणालियों में अभिव्यक्ति 0.1 * 7 = = 0.7 का गलत मूल्यांकन किया जा सकता है। यद्यपि सभी दशमलव अंश भिन्न होते हैं, और इस प्रकार इसे सटीक रूप से प्रस्तुत करने के लिए एक तर्कसंगत डेटा प्रकार का उपयोग करना संभव है, लेकिन कई स्थितियों में केवल गैर-दोहराए जाने वाले दशमलव अंशों (अंश जिनका भाजक दस की शक्ति है) पर विचार करना अधिक सुविधाजनक हो सकता है। उदाहरण के लिए, दुनिया भर में मुद्रा की आंशिक इकाइयाँ ज्यादातर एक भाजक पर आधारित होती हैं जो दस की घात है। इसके अलावा, विज्ञान में अधिकांश आंशिक मापों को दशमलव अंश के रूप में रिपोर्ट किया जाता है, जैसा कि भाजकों की किसी भी अन्य प्रणाली के साथ अंशों के विपरीत है। एक दशमलव डेटा प्रकार को या तो एक अस्थायी-बिंदु संख्या के रूप में या एक निश्चित-बिंदु संख्या के रूप में लागू किया जा सकता है। निश्चित-बिंदु मामले में, भाजक को दस की निश्चित शक्ति पर सेट किया जाएगा। फ्लोटिंग-पॉइंट मामले में, एक चर घातांक दस की शक्ति का प्रतिनिधित्व करेगा जिसमें संख्या की मेंटिसा को गुणा किया जाता है। एक तर्कसंगत डेटा प्रकार का समर्थन करने वाली भाषाएं आमतौर पर दो पूर्णांकों से इस तरह के मान के निर्माण की अनुमति देती हैं, बजाय आधार-2 फ्लोटिंग-पॉइंट संख्या के, जो बाद में होने वाली सटीकता के नुकसान के कारण होती है। आम तौर पर मूल अंकगणितीय संचालन ('+', '-', '×', '/', पूर्णांक शक्तियाँ) और तुलना ('=', '<', '>', '≤') को उन पर कार्य करने के लिए विस्तारित किया जाएगा-या तो मूल रूप से या भाषा द्वारा प्रदान की गई प्रचालक अधिभारन सुविधाओं के माध्यम से। इन कार्यों को संकलक द्वारा पूर्णांक मशीन निर्देशों के अनुक्रम में या पुस्तकालय कॉल में अनुवादित किया जा सकता है। इसका एक उदाहरण 123.456 मानक प्रारूप IEEE 754 है जो अलग-अलग सटीकता के तीन मानक फ्लोटिंग-पॉइंट दशमलव डेटा प्रकारों को निर्दिष्ट करता हैः दशमलव 32 फ्लोटिंग-पॉइंट प्रारूप दशमलव 64 फ्लोटिंग-पॉइंट प्रारूप दशमलव 128 फ्लोटिंग-पॉइंट प्रारूप भाषा समर्थन C #में एक अंतर्निहित डेटा प्रकार 'दशमलव' है, जिसमें 128-बिट होते हैं, जिसके परिणामस्वरूप 28-29 महत्वपूर्ण अंक होते हैं। इसकी अनुमानित सीमा (-7.9 x 10 28 से 7.9 x 10 28)/(10 से 28) है। पायथन 2.4 से शुरू करते हुए, पायथन के मानक पुस्तकालय में मॉड्यूल में एक वर्ग शामिल है। रूबी के मानक पुस्तकालय में मॉड्यूल में एक वर्ग शामिल है। जावा के मानक पुस्तकालय में एक java.math.BigDecimal वर्ग शामिल है। उद्देश्य-सी में, कोकोआ और जीएनयूस्टेप एपीआई एक एन. एस. डेसीमल संख्या वर्ग और दशमलव का प्रतिनिधित्व करने के लिए एक एन. एस. डेसीमल सी डेटाटाइप प्रदान करते हैं, जिसका मान्टिसा 38 अंकों तक लंबा होता है, और घातांक-128 से 127 तक होता है। कुछ आई. बी. एम. सिस्टम और एस. क्यू. एल. सिस्टम कम से कम दो बड़े प्रारूपों के साथ डी. ई. सी. एफ. एल. ओ. ए. टी. प्रारूप का समर्थन करते हैं। ए. बी. ए. पी. के नए डी. ई. सी. एफ. एल. ओ. ए. टी. डेटा प्रकार में दशमलव 64 (डी. ई. सी. एफ. एल. ओ. ए. टी. 16 के रूप में) और दशमलव 128 (डी. ई. सी. एफ. एल. ओ. ए. टी. 34 के रूप में) प्रारूप शामिल हैं। पीएल/आई मूल रूप से निश्चित-बिंदु और फ्लोटिंग-बिंदु दशमलव डेटा दोनों का समर्थन करता है। जीएनयू कम्पाइलर कलेक्शन (जीसीसी) एक विस्तार के रूप में दशमलव फ्लोट्स के लिए समर्थन प्रदान करता है। आर्बिट्रेरी-प्रिसिशन अर्थमेटिक्स फ्लोटिंग-पॉइंट अर्थमेटिक्स फ्लोटिंग-पॉइंट एरर मिटिगेशन संदर्भ डेटा प्रकार कंप्यूटर अर्थमेटिक्स भी देखें।