प्राथमिक डेटा प्रकार: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|An extremely basic/core data type provided by a programming language}}
{{Short description|An extremely basic/core data type provided by a programming language}}
[[कंप्यूटर विज्ञान]] में, प्राथमिक [[डेटा प्रकार]] मूल डेटा प्रकारों का एक समूह है जिससे अन्य सभी डेटा प्रकारों का निर्माण किया जाता है।<ref>{{cite book |last1=Stone |first1=R. G. |url=https://www.google.com/books/edition/Program_Construction/0k_xz8O2SewC?hl=en&gbpv=1&pg=PA18 |title=Program Construction |last2=Cooke |first2=D. J. |date=5 February 1987 |publisher=Cambridge University Press |isbn=978-0-521-31883-9 |page=18 |language=en-US}}</ref> विशेष रूप से यह अधिकांश एक विशेष केंद्रीय प्रसंस्करण इकाई द्वारा उपयोग किए जाने वाले डेटा प्रस्तुतियों के सीमित सेट को संदर्भित करता है, जिसका उपयोग सभी संकलित प्रोग्रामों को करना चाहिए। अधिकांश केंद्रीय प्रसंस्करण इकाई प्राथमिक डेटा प्रकारों के समान सेट का समर्थन करते हैं, चूँकि विशिष्ट प्रतिनिधित्व अलग-अलग होते हैं।<ref>{{cite book |last1=Wikander |first1=Jan |last2=Svensson |first2=Bertil |title=Real-Time Systems in Mechatronic Applications |date=31 May 1998 |publisher=Springer Science & Business Media |isbn=978-0-7923-8159-4 |page=101 |url=https://www.google.com/books/edition/Real_Time_Systems_in_Mechatronic_Applica/fDCNR7VwG-AC?hl=en&gbpv=1&pg=PA101 |language=en}}</ref> अधिक सामान्यतः, प्राथमिक डेटा प्रकार एक [[प्रोग्रामिंग भाषा]] में निर्मित मानक डेटा प्रकारों को संदर्भित कर सकते हैं।<ref name=Khurana>{{cite book |last1=Khurana |first1=Rohit |title=Data and File Structure (For GTU), 2nd Edition |publisher=Vikas Publishing House |isbn=978-93-259-6005-3 |page=2 |url=https://www.google.com/books/edition/Data_and_File_Structure_For_GTU_2nd_Edit/s0JDDAAAQBAJ?hl=en&gbpv=1&pg=PA2 |language=en}}</ref><ref>{{cite book |last1=Chun |first1=Wesley |title=Core Python Programming |date=2001 |publisher=Prentice Hall Professional |isbn=978-0-13-026036-9 |page=77 |url=https://www.google.com/books/edition/Core_Python_Programming/mh0bU6NXrBgC?hl=en&gbpv=1&pg=PA77 |language=en}}</ref> डेटा प्रकार जो प्राथमिक नहीं हैं उन्हें व्युत्पन्न या समग्र डेटा प्रकार कहा जाता है।<ref name=Khurana/>
[[कंप्यूटर विज्ञान]] में, प्राथमिक [[डेटा प्रकार]] मूल डेटा प्रकारों का समूह है जिससे अन्य सभी डेटा प्रकारों का निर्माण किया जाता है।<ref>{{cite book |last1=Stone |first1=R. G. |url=https://www.google.com/books/edition/Program_Construction/0k_xz8O2SewC?hl=en&gbpv=1&pg=PA18 |title=Program Construction |last2=Cooke |first2=D. J. |date=5 February 1987 |publisher=Cambridge University Press |isbn=978-0-521-31883-9 |page=18 |language=en-US}}</ref> विशेष रूप से यह अधिकांश विशेष केंद्रीय प्रसंस्करण इकाई द्वारा उपयोग किए जाने वाले डेटा प्रस्तुतियों के सीमित सेट को संदर्भित करता है, जिसका उपयोग सभी संकलित प्रोग्रामों को करना चाहिए। अधिकांश केंद्रीय प्रसंस्करण इकाई प्राथमिक डेटा प्रकारों के समान सेट का समर्थन करते हैं, चूँकि विशिष्ट प्रतिनिधित्व अलग-अलग होते हैं।<ref>{{cite book |last1=Wikander |first1=Jan |last2=Svensson |first2=Bertil |title=Real-Time Systems in Mechatronic Applications |date=31 May 1998 |publisher=Springer Science & Business Media |isbn=978-0-7923-8159-4 |page=101 |url=https://www.google.com/books/edition/Real_Time_Systems_in_Mechatronic_Applica/fDCNR7VwG-AC?hl=en&gbpv=1&pg=PA101 |language=en}}</ref> अधिक सामान्यतः, प्राथमिक डेटा प्रकार [[प्रोग्रामिंग भाषा]] में निर्मित मानक डेटा प्रकारों को संदर्भित कर सकते हैं।<ref name=Khurana>{{cite book |last1=Khurana |first1=Rohit |title=Data and File Structure (For GTU), 2nd Edition |publisher=Vikas Publishing House |isbn=978-93-259-6005-3 |page=2 |url=https://www.google.com/books/edition/Data_and_File_Structure_For_GTU_2nd_Edit/s0JDDAAAQBAJ?hl=en&gbpv=1&pg=PA2 |language=en}}</ref><ref>{{cite book |last1=Chun |first1=Wesley |title=Core Python Programming |date=2001 |publisher=Prentice Hall Professional |isbn=978-0-13-026036-9 |page=77 |url=https://www.google.com/books/edition/Core_Python_Programming/mh0bU6NXrBgC?hl=en&gbpv=1&pg=PA77 |language=en}}</ref> डेटा प्रकार जो प्राथमिक नहीं हैं उन्हें व्युत्पन्न या समग्र डेटा प्रकार कहा जाता है।<ref name=Khurana/>


प्राथमिक प्रकार लगभग हमेशा मान प्रकार के होते हैं, किन्तु मिश्रित प्रकार भी मान प्रकार हो सकते हैं।<ref>{{cite book |last1=Olsen |first1=Geir |last2=Allison |first2=Damon |last3=Speer |first3=James |title=Visual Basic .NET Class Design Handbook: Coding Effective Classes |date=1 January 2008 |publisher=Apress |isbn=978-1-4302-0780-1 |page=80 |url=https://www.google.com/books/edition/Visual_Basic_NET_Class_Design_Handbook/DUQnCgAAQBAJ?hl=en&gbpv=1&pg=PA80 |language=en}}</ref>
प्राथमिक प्रकार लगभग हमेशा मान प्रकार के होते हैं, किन्तु मिश्रित प्रकार भी मान प्रकार हो सकते हैं।<ref>{{cite book |last1=Olsen |first1=Geir |last2=Allison |first2=Damon |last3=Speer |first3=James |title=Visual Basic .NET Class Design Handbook: Coding Effective Classes |date=1 January 2008 |publisher=Apress |isbn=978-1-4302-0780-1 |page=80 |url=https://www.google.com/books/edition/Visual_Basic_NET_Class_Design_Handbook/DUQnCgAAQBAJ?hl=en&gbpv=1&pg=PA80 |language=en}}</ref>
Line 11: Line 11:
* एकल या दोहरी परिशुद्धता (कंप्यूटर विज्ञान) के साथ  [[तैरनेवाला स्थल|चल बिन्दु  संख्या]]; (<code>float</code>, <code>double</code>)
* एकल या दोहरी परिशुद्धता (कंप्यूटर विज्ञान) के साथ  [[तैरनेवाला स्थल|चल बिन्दु  संख्या]]; (<code>float</code>, <code>double</code>)
* [[बूलियन डेटा प्रकार]], तार्किक मान मान सत्य और असत्य। (<code>boolean</code>)
* [[बूलियन डेटा प्रकार]], तार्किक मान मान सत्य और असत्य। (<code>boolean</code>)
* एक निष्पादन योग्य स्मृति पते (<code>returnAddress</code>) का संदर्भ देने वाला मान। यह जावा प्रोग्रामिंग भाषा से सुलभ नहीं है और सामान्यतः इसे छोड़ दिया जाता है।<ref>{{cite book |last1=Cowell |first1=John |title=Essential Java Fast: How to write object oriented software for the Internet |date=18 February 1997 |publisher=Springer Science & Business Media |isbn=978-3-540-76052-8 |page=27 |url=https://www.google.com/books/edition/Essential_Java_Fast/5M9_fBX4QicC?hl=en&gbpv=1&pg=PA27 |language=en}}</ref><ref>{{cite book |last1=Rakshit |first1=Sandip |last2=Panigrahi |first2=Goutam |title=A Hand Book of Objected Oriented Programming With Java |date=December 1995 |publisher=S. Chand Publishing |isbn=978-81-219-3001-7 |page=11 |url=https://www.google.com/books/edition/A_Hand_Book_of_Objected_Oriented_Program/aAsbEAAAQBAJ?hl=en&gbpv=1&pg=PA11 |language=en}}</ref>
* निष्पादन योग्य स्मृति पते (<code>returnAddress</code>) का संदर्भ देने वाला मान। यह जावा प्रोग्रामिंग भाषा से सुलभ नहीं है और सामान्यतः इसे छोड़ दिया जाता है।<ref>{{cite book |last1=Cowell |first1=John |title=Essential Java Fast: How to write object oriented software for the Internet |date=18 February 1997 |publisher=Springer Science & Business Media |isbn=978-3-540-76052-8 |page=27 |url=https://www.google.com/books/edition/Essential_Java_Fast/5M9_fBX4QicC?hl=en&gbpv=1&pg=PA27 |language=en}}</ref><ref>{{cite book |last1=Rakshit |first1=Sandip |last2=Panigrahi |first2=Goutam |title=A Hand Book of Objected Oriented Programming With Java |date=December 1995 |publisher=S. Chand Publishing |isbn=978-81-219-3001-7 |page=11 |url=https://www.google.com/books/edition/A_Hand_Book_of_Objected_Oriented_Program/aAsbEAAAQBAJ?hl=en&gbpv=1&pg=PA11 |language=en}}</ref>
ये प्राथमिक प्रकार सामान्य रूप से कंप्यूटर हार्डवेयर द्वारा समर्थित होते हैं, संभवतः अलग-अलग पूर्णांक आकार या हार्डवेयर के लिए जो फ़्लोटिंग पॉइंट लुप्त है। ऐसे प्रिमिटिव पर ऑपरेशन सामान्यतः अधिक कुशल होते हैं। प्राथमिक डेटा प्रकार जो केंद्रीय प्रसंस्करण इकाई के मूल हैं, कंप्यूटर की मेमोरी में वस्तुओं के साथ एक-से-एक पत्राचार करते हैं, और इन प्रकारों पर संचालन अधिकांश अधिकांशतः स्थितियों में सबसे तेज़ संभव होता है।<ref name="Agner">{{cite web |last1=Fog |first1=Agner |title=Optimizing software in C++ |url=https://www.agner.org/optimize/optimizing_cpp.pdf#page=29 |access-date=28 January 2022 |page=29 |quote=Integer operations are fast in most cases, [...]}}</ref> उदाहरण के लिए, पूर्णांक जोड़, एकल मशीन निर्देश के रूप में किया जा सकता है, और कुछ एकल निर्देश वाले वर्णों के अनुक्रम को संसाधित करने के लिए विशिष्ट निर्देश प्रदान करते हैं।<ref>{{Cite web|url=https://www.sciencedirect.com/topics/computer-science/single-instruction-single-data|title=Single Instruction Single Data - an overview &#124; ScienceDirect Topics}}</ref> किन्तु प्राथमिक डेटा प्रकार का चुनाव प्रदर्शन को प्रभावित कर सकता है, उदाहरण के लिए फ्लोट की एक सरणी पर संचालित करने के लिए [[SIMD]] संचालन और डेटा प्रकारों का उपयोग करना तेज़ है।{{r|Agner|p=113}}
ये प्राथमिक प्रकार सामान्य रूप से कंप्यूटर हार्डवेयर द्वारा समर्थित होते हैं, संभवतः अलग-अलग पूर्णांक आकार या हार्डवेयर के लिए जो फ़्लोटिंग पॉइंट लुप्त है। ऐसे प्रिमिटिव पर ऑपरेशन सामान्यतः अधिक कुशल होते हैं। प्राथमिक डेटा प्रकार जो केंद्रीय प्रसंस्करण इकाई के मूल हैं, कंप्यूटर की मेमोरी में वस्तुओं के साथ एक-से-एक पत्राचार करते हैं, और इन प्रकारों पर संचालन अधिकांश अधिकांशतः स्थितियों में सबसे तेज़ संभव होता है।<ref name="Agner">{{cite web |last1=Fog |first1=Agner |title=Optimizing software in C++ |url=https://www.agner.org/optimize/optimizing_cpp.pdf#page=29 |access-date=28 January 2022 |page=29 |quote=Integer operations are fast in most cases, [...]}}</ref> उदाहरण के लिए, पूर्णांक जोड़, एकल मशीन निर्देश के रूप में किया जा सकता है, और कुछ एकल निर्देश वाले वर्णों के अनुक्रम को संसाधित करने के लिए विशिष्ट निर्देश प्रदान करते हैं।<ref>{{Cite web|url=https://www.sciencedirect.com/topics/computer-science/single-instruction-single-data|title=Single Instruction Single Data - an overview &#124; ScienceDirect Topics}}</ref> किन्तु प्राथमिक डेटा प्रकार का चुनाव प्रदर्शन को प्रभावित कर सकता है, उदाहरण के लिए फ्लोट की सरणी पर संचालित करने के लिए [[SIMD]] संचालन और डेटा प्रकारों का उपयोग करना तेज़ है।{{r|Agner|p=113}}


मूलभूत सी डेटा प्रकारों का सेट जावा के समान है। इसके  कम से कम, चार प्रकार हैं, <code>char</code>, <code>int</code>, <code>float</code>, और <code>double</code>, किन्तु क्वालीफायर <code>short</code>, <code>long</code>, <code>signed</code>, और <code>unsigned</code> अर्थ है कि सी में कई लक्ष्य-निर्भर पूर्णांक और चल बिन्दु  प्राथमिक प्रकार होते हैं।<ref>{{cite book |last1=Kernighan |first1=Brian W.|last2=Ritchie|first2=Dennis M. |title=The C programming language|chapter=2.2 Data Types and Sizes |date=1988 |location=Englewood Cliffs, N.J. |isbn=0131103709 |page=36 |edition=Second}}</ref>
मूलभूत सी डेटा प्रकारों का सेट जावा के समान है। इसके  कम से कम, चार प्रकार हैं, <code>char</code>, <code>int</code>, <code>float</code>, और <code>double</code>, किन्तु क्वालीफायर <code>short</code>, <code>long</code>, <code>signed</code>, और <code>unsigned</code> अर्थ है कि सी में कई लक्ष्य-निर्भर पूर्णांक और चल बिन्दु  प्राथमिक प्रकार होते हैं।<ref>{{cite book |last1=Kernighan |first1=Brian W.|last2=Ritchie|first2=Dennis M. |title=The C programming language|chapter=2.2 Data Types and Sizes |date=1988 |location=Englewood Cliffs, N.J. |isbn=0131103709 |page=36 |edition=Second}}</ref>
Line 20: Line 20:
=== पूर्णांक संख्या ===
=== पूर्णांक संख्या ===
{{Main|पूर्णांक (कंप्यूटर विज्ञान)}}
{{Main|पूर्णांक (कंप्यूटर विज्ञान)}}
एक पूर्णांक (कंप्यूटर विज्ञान) डेटा प्रकार कुछ [[अंतराल (गणित)]] का प्रतिनिधित्व करता है। पूर्णांक या तो हस्ताक्षरित हो सकते हैं (ऋणात्मक मानों की अनुमति देते हैं) या अहस्ताक्षरित (केवल गैर-ऋणात्मक पूर्णांक)। सामान्य श्रेणियां हैं:
पूर्णांक (कंप्यूटर विज्ञान) डेटा प्रकार कुछ [[अंतराल (गणित)]] का प्रतिनिधित्व करता है। पूर्णांक या तो हस्ताक्षरित हो सकते हैं (ऋणात्मक मानों की अनुमति देते हैं) या अहस्ताक्षरित (केवल गैर-ऋणात्मक पूर्णांक)। सामान्य श्रेणियां हैं:


{| class="wikitable"
{| class="wikitable"
Line 58: Line 58:
=== चल बिन्दु  संख्या ===
=== चल बिन्दु  संख्या ===
{{Main|चल बिन्दु परिकलन}}
{{Main|चल बिन्दु परिकलन}}
[[तैरनेवाला स्थल|चल-बिंदु]] संख्या एक सीमित-परिशुद्धता परिमेय संख्या का प्रतिनिधित्व करती है जिसका एक भिन्नात्मक भाग हो सकता है। ये संख्याएं सामान्यतः बाइनरी अंक प्रणाली में किन्तु कभी-कभी [[दशमलव]] में [[वैज्ञानिक संकेतन]] के समतुल्य प्रारूप में आंतरिक रूप संग्रहीत किया जाता है। क्योंकि चल बिन्दु  संख्याओं की सीमित शुद्धता होती है, केवल [[वास्तविक संख्या]] या परिमेय संख्या संख्याओं का एक उपसमुच्चय बिल्कुल प्रतिनिधित्व योग्य होता है; अन्य संख्याओं को केवल लगभग प्रदर्शित किया जा सकता है। कई भाषाओं में एक ही परिशुद्धता (अधिकांश फ्लोट कहा जाता है) और एक दोहरा त्रुटिहीन प्रकार (अधिकांश दोहरा कहा जाता है) दोनों होते हैं।
[[तैरनेवाला स्थल|चल-बिंदु]] संख्या सीमित-परिशुद्धता परिमेय संख्या का प्रतिनिधित्व करती है जिसका एक भिन्नात्मक भाग हो सकता है। ये संख्याएं सामान्यतः बाइनरी अंक प्रणाली में किन्तु कभी-कभी [[दशमलव]] में [[वैज्ञानिक संकेतन]] के समतुल्य प्रारूप में आंतरिक रूप संग्रहीत किया जाता है। क्योंकि चल बिन्दु  संख्याओं की सीमित शुद्धता होती है, केवल [[वास्तविक संख्या]] या परिमेय संख्या संख्याओं का उपसमुच्चय बिल्कुल प्रतिनिधित्व योग्य होता है; अन्य संख्याओं को केवल लगभग प्रदर्शित किया जा सकता है। कई भाषाओं में एक ही परिशुद्धता (अधिकांश फ्लोट कहा जाता है) और दोहरा त्रुटिहीन प्रकार (अधिकांश दोहरा कहा जाता है) दोनों होते हैं।


=== बूलियन ===
=== बूलियन ===
{{Main|बूलियन डेटाटाइप}}
{{Main|बूलियन डेटाटाइप}}
एक [[बूलियन डेटाटाइप]] प्रकार, जिसे सामान्यतः बूल या बूलियन कहा जाता है, सामान्यतः एक तार्किक प्रकार होता है जिसका मान "सत्य" या मान "गलत" हो सकता है। चूँकि सही और गलत मान सेट को समायोजित करने के लिए केवल एक बिट आवश्यक है, प्रोग्रामिंग भाषाएं सामान्यतः बूलियन प्रकारों को एक या अधिक बाइट्स के रूप में प्रायुक्त करती हैं।
[[बूलियन डेटाटाइप]] प्रकार, जिसे सामान्यतः बूल या बूलियन कहा जाता है, सामान्यतः तार्किक प्रकार होता है जिसका मान "सत्य" या मान "गलत" हो सकता है। चूँकि सही और गलत मान सेट को समायोजित करने के लिए केवल बिट आवश्यक है, प्रोग्रामिंग भाषाएं सामान्यतः बूलियन प्रकारों को एक या अधिक बाइट्स के रूप में प्रायुक्त करती हैं।


कई भाषाएँ (जैसे जावा (प्रोग्रामिंग लैंग्वेज), [[पास्कल (प्रोग्रामिंग भाषा)]] और एडा (प्रोग्रामिंग लैंग्वेज)) बूलियन्स को एक विशिष्ट तार्किक प्रकार के रूप में बूलियन्स की अवधारणा का पालन करते हुए प्रायुक्त करते हैं। चूँकि, कुछ भाषाएं बूलियन्स और बूलियन अभिव्यक्तियों को विस्तारित शब्दार्थ देने या भाषा के पिछले संस्करणों के साथ पश्चगामी संगतता प्राप्त करने के लिए कभी-कभी बूलियन्स को सांख्यिक प्रकारों में परिवर्तित कर सकती हैं। उदाहरण के लिए, [[एएनएसआई सी]] और उसके पूर्व मानकों का पालन करने वाली [[एडा (प्रोग्रामिंग भाषा)]] के प्रारंभिक संस्करणों में एक समर्पित बूलियन प्रकार नहीं था। इसके अतिरिक्त, शून्य के सांख्यिक मानों की व्याख्या असत्य के रूप में की जाती है, और किसी अन्य मान की व्याख्या सत्य के रूप में की जाती है।<ref>{{cite book |first1= Brian W |last1= Kernighan |author-link1= Brian Kernighan |first2= Dennis M |last2= Ritchie |author-link2= Dennis Ritchie |page= [https://archive.org/details/cprogramminglang00kern/page/41 41] |title= [[The C Programming Language]] |edition= 1st |publisher= [[Prentice Hall]] |year= 1978 |location= [[Englewood Cliffs, NJ]] |isbn= 0-13-110163-3}}</ref> नए [[C99]] में एक विशिष्ट बूलियन प्रकार जोड़ा गया है जिसे stdbool.h के साथ सम्मिलित किया जा सकता है,<ref>{{cite web|url=https://devdocs.io/c/types/boolean|access-date=October 15, 2020|title=Boolean type support library|website=devdocs.io}}</ref> और [[C++]] <code>bool</code> कों एक अंतर्निहित प्रकार के रूप में "सत्य" और "असत्य" को आरक्षित शब्दों के रूप में समर्थन करता है।।<ref>{{cite web|url=https://www.geeksforgeeks.org/bool-data-type-in-c/|access-date=October 15, 2020|title=Bool data type in C++|website=GeeksforGeeks|date=5 June 2017}}</ref>
कई भाषाएँ (जैसे जावा (प्रोग्रामिंग लैंग्वेज), [[पास्कल (प्रोग्रामिंग भाषा)]] और एडा (प्रोग्रामिंग लैंग्वेज)) बूलियन्स को विशिष्ट तार्किक प्रकार के रूप में बूलियन्स की अवधारणा का पालन करते हुए प्रायुक्त करते हैं। चूँकि, कुछ भाषाएं बूलियन्स और बूलियन अभिव्यक्तियों को विस्तारित शब्दार्थ देने या भाषा के पिछले संस्करणों के साथ पश्चगामी संगतता प्राप्त करने के लिए कभी-कभी बूलियन्स को सांख्यिक प्रकारों में परिवर्तित कर सकती हैं। उदाहरण के लिए, [[एएनएसआई सी]] और उसके पूर्व मानकों का पालन करने वाली [[एडा (प्रोग्रामिंग भाषा)]] के प्रारंभिक संस्करणों में समर्पित बूलियन प्रकार नहीं था। इसके अतिरिक्त, शून्य के सांख्यिक मानों की व्याख्या असत्य के रूप में की जाती है, और किसी अन्य मान की व्याख्या सत्य के रूप में की जाती है।<ref>{{cite book |first1= Brian W |last1= Kernighan |author-link1= Brian Kernighan |first2= Dennis M |last2= Ritchie |author-link2= Dennis Ritchie |page= [https://archive.org/details/cprogramminglang00kern/page/41 41] |title= [[The C Programming Language]] |edition= 1st |publisher= [[Prentice Hall]] |year= 1978 |location= [[Englewood Cliffs, NJ]] |isbn= 0-13-110163-3}}</ref> नए [[C99]] में विशिष्ट बूलियन प्रकार जोड़ा गया है जिसे stdbool.h के साथ सम्मिलित किया जा सकता है,<ref>{{cite web|url=https://devdocs.io/c/types/boolean|access-date=October 15, 2020|title=Boolean type support library|website=devdocs.io}}</ref> और [[C++]] <code>bool</code> कों अंतर्निहित प्रकार के रूप में "सत्य" और "असत्य" को आरक्षित शब्दों के रूप में समर्थन करता है।।<ref>{{cite web|url=https://www.geeksforgeeks.org/bool-data-type-in-c/|access-date=October 15, 2020|title=Bool data type in C++|website=GeeksforGeeks|date=5 June 2017}}</ref>




== एक्सएमएल स्कीमा ==
== एक्सएमएल स्कीमा ==


एक्सएमएल स्कीमा डेफिनिशन भाषा 19 प्राथमिक डेटा प्रकारों का एक सेट प्रदान करती है:<ref>{{cite web |last1=Biron |first1=Paul V. |last2=Malhotra |first2=Ashok |title=XML Schema Part 2: Datatypes |url=https://www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes |website=www.w3.org |access-date=29 January 2022 |edition=Second}}</ref>
एक्सएमएल स्कीमा डेफिनिशन भाषा 19 प्राथमिक डेटा प्रकारों का सेट प्रदान करती है:<ref>{{cite web |last1=Biron |first1=Paul V. |last2=Malhotra |first2=Ashok |title=XML Schema Part 2: Datatypes |url=https://www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes |website=www.w3.org |access-date=29 January 2022 |edition=Second}}</ref>
* <code>string</code>: एक [[स्ट्रिंग (कंप्यूटर विज्ञान)]], [[यूनिकोड कोड बिंदु|यूनिकोड कोड बिंदुओं]] का एक क्रम
* <code>string</code>: [[स्ट्रिंग (कंप्यूटर विज्ञान)]], [[यूनिकोड कोड बिंदु|यूनिकोड कोड बिंदुओं]] का क्रम
* <code>boolean</code>: एक बूलियन डेटाटाइप
* <code>boolean</code>: बूलियन डेटाटाइप
* <code>decimal</code>: दशमलव संकेतन के साथ प्रदर्शित एक संख्या
* <code>decimal</code>: दशमलव संकेतन के साथ प्रदर्शित संख्या
* <code>float</code> और <code>double</code>: दशमलव संख्याएं
* <code>float</code> और <code>double</code>: दशमलव संख्याएं
* <code>duration</code>, <code>dateTime</code>, <code>time</code>, <code>date</code>, <code>gYearMonth</code>, <code>gYear</code>, <code>gMonthDay</code>, <code>gDay</code>, और <code>gMonth</code>: कैलेंडर दिनांक और समय
* <code>duration</code>, <code>dateTime</code>, <code>time</code>, <code>date</code>, <code>gYearMonth</code>, <code>gYear</code>, <code>gMonthDay</code>, <code>gDay</code>, और <code>gMonth</code>: कैलेंडर दिनांक और समय
* <code>hexBinary</code> और <code>base64Binary</code>: [[बाइनरी डेटा]] [[हेक्साडेसिमल]] या [[बेस 64]] के रूप में एन्कोड किया गया हैं।
* <code>hexBinary</code> और <code>base64Binary</code>: [[बाइनरी डेटा]] [[हेक्साडेसिमल]] या [[बेस 64]] के रूप में एन्कोड किया गया हैं।
* <code>anyURI</code>: घृणा करना
* <code>anyURI</code>: घृणा करना
* <code>QName</code>: एक [[क्यूनाम]]
* <code>QName</code>: [[क्यूनाम]]
* <code>NOTATION</code>: एक क्यूनाम स्कीमा में एक नोटेशन के रूप में घोषित किया गया। गैर-एक्सएमएल डेटा प्रकारों को एम्बेड करने के लिए नोटेशन का उपयोग किया जाता है।<ref>{{cite news |last1=Phillips |first1=Lee Anne |title=Declaring a NOTATION {{!}} Understanding XML Document Type Definitions |url=https://www.informit.com/articles/article.aspx?p=24992&seqNum=5 |access-date=29 January 2022 |work=www.informit.com |date=18 January 2002}}</ref> इस प्रकार का सीधे तौर पर उपयोग नहीं किया जा सकता है - केवल व्युत्पन्न प्रकारों का उपयोग किया जा सकता है जो क्यूनामों के सीमित सेट की गणना करते हैं।
* <code>NOTATION</code>: क्यूनाम स्कीमा में टिप्पणी के रूप में घोषित किया गया। गैर-एक्सएमएल डेटा प्रकारों को एम्बेड करने के लिए टिप्पणी का उपयोग किया जाता है।<ref>{{cite news |last1=Phillips |first1=Lee Anne |title=Declaring a NOTATION {{!}} Understanding XML Document Type Definitions |url=https://www.informit.com/articles/article.aspx?p=24992&seqNum=5 |access-date=29 January 2022 |work=www.informit.com |date=18 January 2002}}</ref> इस प्रकार का सीधे तौर पर उपयोग नहीं किया जा सकता है - केवल व्युत्पन्न प्रकारों का उपयोग किया जा सकता है जो क्यूनामों के सीमित सेट की गणना करते हैं।


== अंतर्निर्मित प्रकार ==
== अंतर्निर्मित प्रकार ==
Line 84: Line 84:
जावास्क्रिप्ट में, 7 प्राथमिक डेटा प्रकार: स्ट्रिंग, संख्या, बिगिंट, बूलियन, अपरिभाषित, प्रतीक और अशक्त हैं। ये वस्तुएं नहीं हैं और इनकी कोई विधि नहीं है।<ref>{{cite web |title=Primitive - MDN Web Docs Glossary: Definitions of Web-related terms |url=https://developer.mozilla.org/en-US/docs/Glossary/Primitive |website=developer.mozilla.org |publisher=MDN}}</ref>
जावास्क्रिप्ट में, 7 प्राथमिक डेटा प्रकार: स्ट्रिंग, संख्या, बिगिंट, बूलियन, अपरिभाषित, प्रतीक और अशक्त हैं। ये वस्तुएं नहीं हैं और इनकी कोई विधि नहीं है।<ref>{{cite web |title=Primitive - MDN Web Docs Glossary: Definitions of Web-related terms |url=https://developer.mozilla.org/en-US/docs/Glossary/Primitive |website=developer.mozilla.org |publisher=MDN}}</ref>


मूल दृश्य .NET में, प्राथमिक डेटा प्रकारों में 4 अभिन्न प्रकार, 2 चल बिन्दु  प्रकार, एक 16-बाइट दशमलव प्रकार, एक बूलियन प्रकार, एक दिनांक/समय प्रकार, एक यूनिकोड वर्ण प्रकार और एक यूनिकोड स्ट्रिंग प्रकार सम्मिलित होते हैं।<ref>{{cite web |title=Types in Visual Basic |url=https://docs.microsoft.com/en-us/dotnet/visual-basic/reference/language-specification/types#primitive-types |website=Microsoft Docs |access-date=18 May 2022 |language=en-us |date=18 September 2021}}</ref>
मूल दृश्य .NET में, प्राथमिक डेटा प्रकारों में 4 अभिन्न प्रकार, 2 चल बिन्दु  प्रकार, 16-बाइट दशमलव प्रकार, बूलियन प्रकार, दिनांक/समय प्रकार, यूनिकोड वर्ण प्रकार और यूनिकोड स्ट्रिंग प्रकार सम्मिलित होते हैं।<ref>{{cite web |title=Types in Visual Basic |url=https://docs.microsoft.com/en-us/dotnet/visual-basic/reference/language-specification/types#primitive-types |website=Microsoft Docs |access-date=18 May 2022 |language=en-us |date=18 September 2021}}</ref>


सामान्य तौर पर, परिष्कृत प्रोग्रामिंग भाषाओं में बनाए जा सकने वाले डेटा प्रकारों में सम्मिलित हैं:
सामान्य तौर पर, परिष्कृत प्रोग्रामिंग भाषाओं में बनाए जा सकने वाले डेटा प्रकारों में सम्मिलित हैं:
Line 91: Line 91:
* [[मानक एमएल]] में [[टपल]], पायथन (प्रोग्रामिंग लैंग्वेज), [[स्काला (प्रोग्रामिंग भाषा)]], [[स्विफ्ट (प्रोग्रामिंग भाषा)]], [[अमृत ​​​​(प्रोग्रामिंग भाषा)]]
* [[मानक एमएल]] में [[टपल]], पायथन (प्रोग्रामिंग लैंग्वेज), [[स्काला (प्रोग्रामिंग भाषा)]], [[स्विफ्ट (प्रोग्रामिंग भाषा)]], [[अमृत ​​​​(प्रोग्रामिंग भाषा)]]
* [[सामान्य लिस्प]], [[पायथन (प्रोग्रामिंग भाषा)]], [[योजना (प्रोग्रामिंग भाषा)]], [[हास्केल (प्रोग्रामिंग भाषा)]] में [[सूची (सार डेटा प्रकार)]]
* [[सामान्य लिस्प]], [[पायथन (प्रोग्रामिंग भाषा)]], [[योजना (प्रोग्रामिंग भाषा)]], [[हास्केल (प्रोग्रामिंग भाषा)]] में [[सूची (सार डेटा प्रकार)]]
* विभिन्न प्रकार की शुद्धता (कंप्यूटर विज्ञान) और एक प्रोग्रामर-चयनित पैमाने के साथ निश्चित-बिंदु संख्या।
* विभिन्न प्रकार की शुद्धता (कंप्यूटर विज्ञान) और प्रोग्रामर-चयनित पैमाने के साथ निश्चित-बिंदु संख्या।
* C99, [[फोरट्रान]], कॉमन लिस्प, पायथन (प्रोग्रामिंग लैंग्वेज), D (प्रोग्रामिंग लैंग्वेज), [[जाओ (प्रोग्रामिंग भाषा)]] में [[जटिल डेटा प्रकार]] यह दो चल बिन्दु, एक वास्तविक भाग और एक काल्पनिक भाग संख्याएँ हैं।
* C99, [[फोरट्रान]], कॉमन लिस्प, पायथन (प्रोग्रामिंग लैंग्वेज), D (प्रोग्रामिंग लैंग्वेज), [[जाओ (प्रोग्रामिंग भाषा)]] में [[जटिल डेटा प्रकार]] यह दो चल बिन्दु, वास्तविक भाग और काल्पनिक भाग संख्याएँ हैं।
* सामान्य लिस्प में [[तर्कसंगत डेटा प्रकार]]
* सामान्य लिस्प में [[तर्कसंगत डेटा प्रकार]]
* [[मनमाना-सटीक अंकगणित|स्वैछिक-परिशुद्धता अंकगणित]]| <code>Integer</code> सामान्य लिस्प, एरलांग (प्रोग्रामिंग भाषा), हास्केल (प्रोग्रामिंग भाषा) में टाइप करें
* [[मनमाना-सटीक अंकगणित|स्वैछिक-परिशुद्धता अंकगणित]]| <code>Integer</code> सामान्य लिस्प, एरलांग (प्रोग्रामिंग भाषा), हास्केल (प्रोग्रामिंग भाषा) में टाइप करें
Line 100: Line 100:


=== वर्ण और तार ===
=== वर्ण और तार ===
एक वर्ण (कंप्यूटिंग) प्रकार एक प्रकार है जो सभी [[यूनिकोड वर्ण|यूनिकोड वर्णों]] का प्रतिनिधित्व कर सकता है, इसलिए कम से कम 21 बिट चौड़ा होना चाहिए। जूलिया जैसी कुछ भाषाओं में प्राथमिक के रूप में एक वास्तविक 32-बिट यूनिकोड वर्ण प्रकार सम्मिलित है।<ref>{{cite web |title=Strings · The Julia Language |url=https://docs.julialang.org/en/v1/manual/strings/#man-characters |website=docs.julialang.org |access-date=29 January 2022}}</ref> अन्य भाषाओं जैसे कि जावास्क्रिप्ट, पायथन (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग लैंग्वेज), और [[बुनियादी|मूलभूत]] की कई बोलियों में एक प्राथमिक वर्ण प्रकार नहीं है, किन्तु स्ट्रिंग (कंप्यूटर विज्ञान) को एक प्राथमिक डेटा प्रकार के रूप में जोड़ते हैं, सामान्यतः [[UTF-8]] का उपयोग करते हुए एन्कोडिंग। एक की लंबाई वाले तार सामान्यतः एकल वर्णों का प्रतिनिधित्व करने के लिए उपयोग किए जाते हैं।
वर्ण (कंप्यूटिंग) प्रकार एक प्रकार है जो सभी [[यूनिकोड वर्ण|यूनिकोड वर्णों]] का प्रतिनिधित्व कर सकता है, इसलिए कम से कम 21 बिट चौड़ा होना चाहिए। जूलिया जैसी कुछ भाषाओं में प्राथमिक के रूप में वास्तविक 32-बिट यूनिकोड वर्ण प्रकार सम्मिलित है।<ref>{{cite web |title=Strings · The Julia Language |url=https://docs.julialang.org/en/v1/manual/strings/#man-characters |website=docs.julialang.org |access-date=29 January 2022}}</ref> अन्य भाषाओं जैसे कि जावास्क्रिप्ट, पायथन (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग लैंग्वेज), और [[बुनियादी|मूलभूत]] की कई बोलियों में प्राथमिक वर्ण प्रकार नहीं है, किन्तु स्ट्रिंग (कंप्यूटर विज्ञान) सामान्यतः [[UTF-8]] का उपयोग करते हुए एन्कोडिंग को प्राथमिक डेटा प्रकार के रूप में जोड़ते हैं। एक की लंबाई वाले तार सामान्यतः एकल वर्णों का प्रतिनिधित्व करने के लिए उपयोग किए जाते हैं।


कुछ भाषाओं में वर्ण या स्ट्रिंग प्रकार होते हैं जो सभी यूनिकोड वर्णों या स्ट्रिंग्स का प्रतिनिधित्व करने के लिए बहुत छोटे होते हैं। इन्हें अधिक उचित रूप से पूर्णांक प्रकारों के रूप में वर्गीकृत किया गया है। उदाहरण के लिए सी में एक <code>char</code> प्रकार सम्मिलित है, किन्तु इसे स्मृति की सबसे छोटी पता योग्य इकाई के रूप में परिभाषित किया गया है, जिसे कई मानकों, जैसे [[POSIX]] को 8 [[अंश|बिट्स]] की आवश्यकता होती है। इन मानकों का नवीनतम संस्करण <code>char</code> कों एक संख्यात्मक प्रकार के रूप में संदर्भित करता है। जावा (प्रोग्रामिंग भाषा) में 16-बिट पूर्णांक प्रकार के लिए <code>char</code> का भी प्रयोग किया जाता है, किन्तु फिर से यह एक यूनिकोड वर्ण प्रकार नहीं है।<ref>{{cite web |last1=Mansoor |first1=Umer |title=The char Type in Java is Broken |url=https://codeahoy.com/2016/05/08/the-char-type-in-java-is-broken/ |website=CodeAhoy |date=8 May 2016 |access-date=10 February 2020 |ref=3}}</ref> कुछ कंप्यूटर हार्डवेयर में कुछ निर्देश होते हैं जो बाइट्स के अनुक्रम का उल्लेख करते हुए स्ट्रिंग्स से निपटते हैं। उदाहरण के लिए, x86-64 वस्तुओं के अनुक्रम को स्थानांतरित, सेट, खोज या तुलना कर सकता है, जहां कोई आइटम 1, 2, 4 या 8 बाइट लंबा हो सकता है।<ref>{{cite web|title=I/O and string instructions|access-date=29 January 2022|url=http://linasm.sourceforge.net/docs/instructions/cpu.php#bit}}</ref>
कुछ भाषाओं में वर्ण या स्ट्रिंग प्रकार होते हैं जो सभी यूनिकोड वर्णों या स्ट्रिंग्स का प्रतिनिधित्व करने के लिए बहुत छोटे होते हैं। इन्हें अधिक उचित रूप से पूर्णांक प्रकारों के रूप में वर्गीकृत किया गया है। उदाहरण के लिए सी में <code>char</code> प्रकार सम्मिलित है, किन्तु इसे स्मृति की सबसे छोटी पता योग्य इकाई के रूप में परिभाषित किया गया है, जिसे कई मानकों, जैसे [[POSIX]] को 8 [[अंश|बिट्स]] की आवश्यकता होती है। इन मानकों का नवीनतम संस्करण <code>char</code> कों संख्यात्मक प्रकार के रूप में संदर्भित करता है। जावा (प्रोग्रामिंग भाषा) में 16-बिट पूर्णांक प्रकार के लिए <code>char</code> का भी प्रयोग किया जाता है, किन्तु फिर से यह यूनिकोड वर्ण प्रकार नहीं है।<ref>{{cite web |last1=Mansoor |first1=Umer |title=The char Type in Java is Broken |url=https://codeahoy.com/2016/05/08/the-char-type-in-java-is-broken/ |website=CodeAhoy |date=8 May 2016 |access-date=10 February 2020 |ref=3}}</ref> कुछ कंप्यूटर हार्डवेयर में कुछ निर्देश होते हैं जो बाइट्स के अनुक्रम का उल्लेख करते हुए स्ट्रिंग्स से निपटते हैं। उदाहरण के लिए, x86-64 वस्तुओं के अनुक्रम को स्थानांतरित, सेट, खोज या तुलना कर सकता है, जहां कोई आइटम 1, 2, 4 या 8 बाइट लंबा हो सकता है।<ref>{{cite web|title=I/O and string instructions|access-date=29 January 2022|url=http://linasm.sourceforge.net/docs/instructions/cpu.php#bit}}</ref>




=== श्रेणियों ===
=== श्रेणियों ===
एक श्रेणी (कंप्यूटर विज्ञान) संख्यात्मक डेटा प्रकार में इसका अधिकतम और न्यूनतम मान प्रकार में एम्बेडेड होता है। यह कुछ भाषाओं जैसे एडा (प्रोग्रामिंग भाषा) और पास्कल (प्रोग्रामिंग भाषा) में सम्मिलित है। सीमा के बाहर किसी संख्या को संग्रहीत करने का प्रयास करने से उपयोग की जा रही भाषा के आधार पर कंपाइलर/रनटाइम त्रुटियां, या गलत गणना (कटौती के कारण) हो सकती हैं। अभ्यास में संकलक स्वचालित रूप से सबसे उपयुक्त प्राथमिक पूर्णांक या चल बिन्दु  प्रकार चुनता है।
श्रेणी (कंप्यूटर विज्ञान) संख्यात्मक डेटा प्रकार में इसका अधिकतम और न्यूनतम मान प्रकार में एम्बेडेड होता है। यह कुछ भाषाओं जैसे एडा (प्रोग्रामिंग भाषा) और पास्कल (प्रोग्रामिंग भाषा) में सम्मिलित है। सीमा के बाहर किसी संख्या को संग्रहीत करने का प्रयास करने से उपयोग की जा रही भाषा के आधार पर कंपाइलर/रनटाइम त्रुटियां, या गलत गणना (कटौती के कारण) हो सकती हैं। अभ्यास में संकलक स्वचालित रूप से सबसे उपयुक्त प्राथमिक पूर्णांक या चल बिन्दु  प्रकार चुनता है।


== यह भी देखें ==
== यह भी देखें ==
Line 122: Line 122:
*{{Commons category-inline|Primitive types}}
*{{Commons category-inline|Primitive types}}


{{data types}}
[[Category:Articles with hatnote templates targeting a nonexistent page|Primitive data type]]
 
[[Category:CS1 English-language sources (en)]]
{{DEFAULTSORT:Primitive data type}}[[Category: डेटा के प्रकार]] [[Category: आदिम प्रकार | आदिम प्रकार ]]  
[[Category:Collapse templates|Primitive data type]]
 
[[Category:Commons category link is locally defined|Primitive data type]]
 
[[Category:Created On 16/02/2023|Primitive data type]]
 
[[Category:Lua-based templates]]
[[Category: Machine Translated Page]]
[[Category:Machine Translated Page|Primitive data type]]
[[Category:Created On 16/02/2023]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Primitive data type]]
[[Category:Pages with script errors|Primitive data type]]
[[Category:Short description with empty Wikidata description|Primitive data type]]
[[Category:Sidebars with styles needing conversion|Primitive data type]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]

Latest revision as of 10:46, 7 March 2023

कंप्यूटर विज्ञान में, प्राथमिक डेटा प्रकार मूल डेटा प्रकारों का समूह है जिससे अन्य सभी डेटा प्रकारों का निर्माण किया जाता है।[1] विशेष रूप से यह अधिकांश विशेष केंद्रीय प्रसंस्करण इकाई द्वारा उपयोग किए जाने वाले डेटा प्रस्तुतियों के सीमित सेट को संदर्भित करता है, जिसका उपयोग सभी संकलित प्रोग्रामों को करना चाहिए। अधिकांश केंद्रीय प्रसंस्करण इकाई प्राथमिक डेटा प्रकारों के समान सेट का समर्थन करते हैं, चूँकि विशिष्ट प्रतिनिधित्व अलग-अलग होते हैं।[2] अधिक सामान्यतः, प्राथमिक डेटा प्रकार प्रोग्रामिंग भाषा में निर्मित मानक डेटा प्रकारों को संदर्भित कर सकते हैं।[3][4] डेटा प्रकार जो प्राथमिक नहीं हैं उन्हें व्युत्पन्न या समग्र डेटा प्रकार कहा जाता है।[3]

प्राथमिक प्रकार लगभग हमेशा मान प्रकार के होते हैं, किन्तु मिश्रित प्रकार भी मान प्रकार हो सकते हैं।[5]


सामान्य प्राथमिक डेटा प्रकार

जावा (प्रोग्रामिंग भाषा) वर्चुअल मशीन का प्राथमिक डेटा प्रकारों का सेट है:[6]

ये प्राथमिक प्रकार सामान्य रूप से कंप्यूटर हार्डवेयर द्वारा समर्थित होते हैं, संभवतः अलग-अलग पूर्णांक आकार या हार्डवेयर के लिए जो फ़्लोटिंग पॉइंट लुप्त है। ऐसे प्रिमिटिव पर ऑपरेशन सामान्यतः अधिक कुशल होते हैं। प्राथमिक डेटा प्रकार जो केंद्रीय प्रसंस्करण इकाई के मूल हैं, कंप्यूटर की मेमोरी में वस्तुओं के साथ एक-से-एक पत्राचार करते हैं, और इन प्रकारों पर संचालन अधिकांश अधिकांशतः स्थितियों में सबसे तेज़ संभव होता है।[9] उदाहरण के लिए, पूर्णांक जोड़, एकल मशीन निर्देश के रूप में किया जा सकता है, और कुछ एकल निर्देश वाले वर्णों के अनुक्रम को संसाधित करने के लिए विशिष्ट निर्देश प्रदान करते हैं।[10] किन्तु प्राथमिक डेटा प्रकार का चुनाव प्रदर्शन को प्रभावित कर सकता है, उदाहरण के लिए फ्लोट की सरणी पर संचालित करने के लिए SIMD संचालन और डेटा प्रकारों का उपयोग करना तेज़ है।[9]: 113 

मूलभूत सी डेटा प्रकारों का सेट जावा के समान है। इसके कम से कम, चार प्रकार हैं, char, int, float, और double, किन्तु क्वालीफायर short, long, signed, और unsigned अर्थ है कि सी में कई लक्ष्य-निर्भर पूर्णांक और चल बिन्दु प्राथमिक प्रकार होते हैं।[11]


पूर्णांक संख्या

पूर्णांक (कंप्यूटर विज्ञान) डेटा प्रकार कुछ अंतराल (गणित) का प्रतिनिधित्व करता है। पूर्णांक या तो हस्ताक्षरित हो सकते हैं (ऋणात्मक मानों की अनुमति देते हैं) या अहस्ताक्षरित (केवल गैर-ऋणात्मक पूर्णांक)। सामान्य श्रेणियां हैं:

आकार (बाइट्स) आकार (बिट्स) नाम हस्ताक्षरित श्रेणी (दो का पूरक प्रतिनिधित्व) अहस्ताक्षरित श्रेणी
1 बाइट 8 bits C99 में बाइट, ऑक्टेट , char का न्यूनतम आकार (सीमा डॉट एच चार_बिट) −128 to +127 0 to 255
2 बाइट्स 16 bits x86 शब्द, C में short and int का न्यूनतम आकार −32,768 to +32,767 0 to 65,535
4 बाइट्स 32 bits x86 दोहरा शब्द, सी में long समय का न्यूनतम आकार, अधिकांश आधुनिक सी कंपाइलर्स[12] के लिए int का वास्तविक आकार, IA-32-संगत प्रोसेसर के लिए सूचक −2,147,483,648 to +2,147,483,647 0 to 4,294,967,295
8 बाइट्स 64 bits x86 चौगुनी शब्द, C में long long का न्यूनतम आकार, अधिकांश आधुनिक C कंपाइलरों[12] के लिए long का वास्तविक आकार, x86-64-संगत प्रोसेसर के लिए सूचक −9,223,372,036,854,775,808 to +9,223,372,036,854,775,807 0 to 18,446,744,073,709,551,615


चल बिन्दु संख्या

चल-बिंदु संख्या सीमित-परिशुद्धता परिमेय संख्या का प्रतिनिधित्व करती है जिसका एक भिन्नात्मक भाग हो सकता है। ये संख्याएं सामान्यतः बाइनरी अंक प्रणाली में किन्तु कभी-कभी दशमलव में वैज्ञानिक संकेतन के समतुल्य प्रारूप में आंतरिक रूप संग्रहीत किया जाता है। क्योंकि चल बिन्दु संख्याओं की सीमित शुद्धता होती है, केवल वास्तविक संख्या या परिमेय संख्या संख्याओं का उपसमुच्चय बिल्कुल प्रतिनिधित्व योग्य होता है; अन्य संख्याओं को केवल लगभग प्रदर्शित किया जा सकता है। कई भाषाओं में एक ही परिशुद्धता (अधिकांश फ्लोट कहा जाता है) और दोहरा त्रुटिहीन प्रकार (अधिकांश दोहरा कहा जाता है) दोनों होते हैं।

बूलियन

बूलियन डेटाटाइप प्रकार, जिसे सामान्यतः बूल या बूलियन कहा जाता है, सामान्यतः तार्किक प्रकार होता है जिसका मान "सत्य" या मान "गलत" हो सकता है। चूँकि सही और गलत मान सेट को समायोजित करने के लिए केवल बिट आवश्यक है, प्रोग्रामिंग भाषाएं सामान्यतः बूलियन प्रकारों को एक या अधिक बाइट्स के रूप में प्रायुक्त करती हैं।

कई भाषाएँ (जैसे जावा (प्रोग्रामिंग लैंग्वेज), पास्कल (प्रोग्रामिंग भाषा) और एडा (प्रोग्रामिंग लैंग्वेज)) बूलियन्स को विशिष्ट तार्किक प्रकार के रूप में बूलियन्स की अवधारणा का पालन करते हुए प्रायुक्त करते हैं। चूँकि, कुछ भाषाएं बूलियन्स और बूलियन अभिव्यक्तियों को विस्तारित शब्दार्थ देने या भाषा के पिछले संस्करणों के साथ पश्चगामी संगतता प्राप्त करने के लिए कभी-कभी बूलियन्स को सांख्यिक प्रकारों में परिवर्तित कर सकती हैं। उदाहरण के लिए, एएनएसआई सी और उसके पूर्व मानकों का पालन करने वाली एडा (प्रोग्रामिंग भाषा) के प्रारंभिक संस्करणों में समर्पित बूलियन प्रकार नहीं था। इसके अतिरिक्त, शून्य के सांख्यिक मानों की व्याख्या असत्य के रूप में की जाती है, और किसी अन्य मान की व्याख्या सत्य के रूप में की जाती है।[13] नए C99 में विशिष्ट बूलियन प्रकार जोड़ा गया है जिसे stdbool.h के साथ सम्मिलित किया जा सकता है,[14] और C++ bool कों अंतर्निहित प्रकार के रूप में "सत्य" और "असत्य" को आरक्षित शब्दों के रूप में समर्थन करता है।।[15]


एक्सएमएल स्कीमा

एक्सएमएल स्कीमा डेफिनिशन भाषा 19 प्राथमिक डेटा प्रकारों का सेट प्रदान करती है:[16]

  • string: स्ट्रिंग (कंप्यूटर विज्ञान), यूनिकोड कोड बिंदुओं का क्रम
  • boolean: बूलियन डेटाटाइप
  • decimal: दशमलव संकेतन के साथ प्रदर्शित संख्या
  • float और double: दशमलव संख्याएं
  • duration, dateTime, time, date, gYearMonth, gYear, gMonthDay, gDay, और gMonth: कैलेंडर दिनांक और समय
  • hexBinary और base64Binary: बाइनरी डेटा हेक्साडेसिमल या बेस 64 के रूप में एन्कोड किया गया हैं।
  • anyURI: घृणा करना
  • QName: क्यूनाम
  • NOTATION: क्यूनाम स्कीमा में टिप्पणी के रूप में घोषित किया गया। गैर-एक्सएमएल डेटा प्रकारों को एम्बेड करने के लिए टिप्पणी का उपयोग किया जाता है।[17] इस प्रकार का सीधे तौर पर उपयोग नहीं किया जा सकता है - केवल व्युत्पन्न प्रकारों का उपयोग किया जा सकता है जो क्यूनामों के सीमित सेट की गणना करते हैं।

अंतर्निर्मित प्रकार

जावास्क्रिप्ट में, 7 प्राथमिक डेटा प्रकार: स्ट्रिंग, संख्या, बिगिंट, बूलियन, अपरिभाषित, प्रतीक और अशक्त हैं। ये वस्तुएं नहीं हैं और इनकी कोई विधि नहीं है।[18]

मूल दृश्य .NET में, प्राथमिक डेटा प्रकारों में 4 अभिन्न प्रकार, 2 चल बिन्दु प्रकार, 16-बाइट दशमलव प्रकार, बूलियन प्रकार, दिनांक/समय प्रकार, यूनिकोड वर्ण प्रकार और यूनिकोड स्ट्रिंग प्रकार सम्मिलित होते हैं।[19]

सामान्य तौर पर, परिष्कृत प्रोग्रामिंग भाषाओं में बनाए जा सकने वाले डेटा प्रकारों में सम्मिलित हैं:

वर्ण और तार

वर्ण (कंप्यूटिंग) प्रकार एक प्रकार है जो सभी यूनिकोड वर्णों का प्रतिनिधित्व कर सकता है, इसलिए कम से कम 21 बिट चौड़ा होना चाहिए। जूलिया जैसी कुछ भाषाओं में प्राथमिक के रूप में वास्तविक 32-बिट यूनिकोड वर्ण प्रकार सम्मिलित है।[20] अन्य भाषाओं जैसे कि जावास्क्रिप्ट, पायथन (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग लैंग्वेज), और मूलभूत की कई बोलियों में प्राथमिक वर्ण प्रकार नहीं है, किन्तु स्ट्रिंग (कंप्यूटर विज्ञान) सामान्यतः UTF-8 का उपयोग करते हुए एन्कोडिंग को प्राथमिक डेटा प्रकार के रूप में जोड़ते हैं। एक की लंबाई वाले तार सामान्यतः एकल वर्णों का प्रतिनिधित्व करने के लिए उपयोग किए जाते हैं।

कुछ भाषाओं में वर्ण या स्ट्रिंग प्रकार होते हैं जो सभी यूनिकोड वर्णों या स्ट्रिंग्स का प्रतिनिधित्व करने के लिए बहुत छोटे होते हैं। इन्हें अधिक उचित रूप से पूर्णांक प्रकारों के रूप में वर्गीकृत किया गया है। उदाहरण के लिए सी में char प्रकार सम्मिलित है, किन्तु इसे स्मृति की सबसे छोटी पता योग्य इकाई के रूप में परिभाषित किया गया है, जिसे कई मानकों, जैसे POSIX को 8 बिट्स की आवश्यकता होती है। इन मानकों का नवीनतम संस्करण char कों संख्यात्मक प्रकार के रूप में संदर्भित करता है। जावा (प्रोग्रामिंग भाषा) में 16-बिट पूर्णांक प्रकार के लिए char का भी प्रयोग किया जाता है, किन्तु फिर से यह यूनिकोड वर्ण प्रकार नहीं है।[21] कुछ कंप्यूटर हार्डवेयर में कुछ निर्देश होते हैं जो बाइट्स के अनुक्रम का उल्लेख करते हुए स्ट्रिंग्स से निपटते हैं। उदाहरण के लिए, x86-64 वस्तुओं के अनुक्रम को स्थानांतरित, सेट, खोज या तुलना कर सकता है, जहां कोई आइटम 1, 2, 4 या 8 बाइट लंबा हो सकता है।[22]


श्रेणियों

श्रेणी (कंप्यूटर विज्ञान) संख्यात्मक डेटा प्रकार में इसका अधिकतम और न्यूनतम मान प्रकार में एम्बेडेड होता है। यह कुछ भाषाओं जैसे एडा (प्रोग्रामिंग भाषा) और पास्कल (प्रोग्रामिंग भाषा) में सम्मिलित है। सीमा के बाहर किसी संख्या को संग्रहीत करने का प्रयास करने से उपयोग की जा रही भाषा के आधार पर कंपाइलर/रनटाइम त्रुटियां, या गलत गणना (कटौती के कारण) हो सकती हैं। अभ्यास में संकलक स्वचालित रूप से सबसे उपयुक्त प्राथमिक पूर्णांक या चल बिन्दु प्रकार चुनता है।

यह भी देखें

संदर्भ

  1. Stone, R. G.; Cooke, D. J. (5 February 1987). Program Construction (in English). Cambridge University Press. p. 18. ISBN 978-0-521-31883-9.
  2. Wikander, Jan; Svensson, Bertil (31 May 1998). Real-Time Systems in Mechatronic Applications (in English). Springer Science & Business Media. p. 101. ISBN 978-0-7923-8159-4.
  3. 3.0 3.1 Khurana, Rohit. Data and File Structure (For GTU), 2nd Edition (in English). Vikas Publishing House. p. 2. ISBN 978-93-259-6005-3.
  4. Chun, Wesley (2001). Core Python Programming (in English). Prentice Hall Professional. p. 77. ISBN 978-0-13-026036-9.
  5. Olsen, Geir; Allison, Damon; Speer, James (1 January 2008). Visual Basic .NET Class Design Handbook: Coding Effective Classes (in English). Apress. p. 80. ISBN 978-1-4302-0780-1.
  6. Lindholm, Tim; Yellin, Frank; Bracha, Gilad; Buckley, Alex (13 February 2015). "Chapter 2. The Structure of the Java Virtual Machine". The Java® Virtual Machine Specification.
  7. Cowell, John (18 February 1997). Essential Java Fast: How to write object oriented software for the Internet (in English). Springer Science & Business Media. p. 27. ISBN 978-3-540-76052-8.
  8. Rakshit, Sandip; Panigrahi, Goutam (December 1995). A Hand Book of Objected Oriented Programming With Java (in English). S. Chand Publishing. p. 11. ISBN 978-81-219-3001-7.
  9. 9.0 9.1 Fog, Agner. "Optimizing software in C++" (PDF). p. 29. Retrieved 28 January 2022. Integer operations are fast in most cases, [...]
  10. "Single Instruction Single Data - an overview | ScienceDirect Topics".
  11. Kernighan, Brian W.; Ritchie, Dennis M. (1988). "2.2 Data Types and Sizes". The C programming language (Second ed.). Englewood Cliffs, N.J. p. 36. ISBN 0131103709.{{cite book}}: CS1 maint: location missing publisher (link)
  12. 12.0 12.1 Fog, Agner (2010-02-16). "Calling conventions for different C++ compilers and operating systems: Chapter 3, Data Representation" (PDF). Retrieved 2010-08-30.
  13. Kernighan, Brian W; Ritchie, Dennis M (1978). The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. p. 41. ISBN 0-13-110163-3.
  14. "Boolean type support library". devdocs.io. Retrieved October 15, 2020.
  15. "Bool data type in C++". GeeksforGeeks. 5 June 2017. Retrieved October 15, 2020.
  16. Biron, Paul V.; Malhotra, Ashok. "XML Schema Part 2: Datatypes". www.w3.org (Second ed.). Retrieved 29 January 2022.
  17. Phillips, Lee Anne (18 January 2002). "Declaring a NOTATION | Understanding XML Document Type Definitions". www.informit.com. Retrieved 29 January 2022.
  18. "Primitive - MDN Web Docs Glossary: Definitions of Web-related terms". developer.mozilla.org. MDN.
  19. "Types in Visual Basic". Microsoft Docs (in English). 18 September 2021. Retrieved 18 May 2022.
  20. "Strings · The Julia Language". docs.julialang.org. Retrieved 29 January 2022.
  21. Mansoor, Umer (8 May 2016). "The char Type in Java is Broken". CodeAhoy. Retrieved 10 February 2020.
  22. "I/O and string instructions". Retrieved 29 January 2022.


बाहरी संबंध