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

From Vigyanwiki
No edit summary
No edit summary
 
(9 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>




== सामान्य आदिम डेटा प्रकार ==
== सामान्य प्राथमिक डेटा प्रकार ==
 
[[जावा (प्रोग्रामिंग भाषा)]] वर्चुअल मशीन का प्राथमिक डेटा प्रकारों का सेट है:<ref>{{cite book |last1=Lindholm |first1=Tim |last2=Yellin |first2=Frank |last3=Bracha |first3=Gilad |last4=Buckley |first4=Alex |title=The Java® Virtual Machine Specification |date=13 February 2015 |url=https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.3 |chapter=Chapter 2. The Structure of the Java Virtual Machine}}</ref>
* विभिन्न प्रकार की श्रेणियों और [[सटीक (कंप्यूटर विज्ञान)|त्रुटिहीन (कंप्यूटर विज्ञान)]] के साथ [[पूर्णांक (कंप्यूटर विज्ञान)]] प्रकार<code>byte</code>, <code>short</code>, <code>int</code>, <code>long</code>, <code>char</code>)
* एकल या दोहरी परिशुद्धता (कंप्यूटर विज्ञान) के साथ  [[तैरनेवाला स्थल|चल बिन्दु  संख्या]]; (<code>float</code>, <code>double</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>
ये प्राथमिक प्रकार सामान्य रूप से कंप्यूटर हार्डवेयर द्वारा समर्थित होते हैं, संभवतः अलग-अलग पूर्णांक आकार या हार्डवेयर के लिए जो फ़्लोटिंग पॉइंट लुप्त है। ऐसे प्रिमिटिव पर ऑपरेशन सामान्यतः अधिक कुशल होते हैं। प्राथमिक डेटा प्रकार जो केंद्रीय प्रसंस्करण इकाई के मूल हैं, कंप्यूटर की मेमोरी में वस्तुओं के साथ एक-से-एक पत्राचार करते हैं, और इन प्रकारों पर संचालन अधिकांश अधिकांशतः स्थितियों में सबसे तेज़ संभव होता है।<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>


[[जावा (प्रोग्रामिंग भाषा)]] वर्चुअल मशीन का आदिम डेटा प्रकारों का सेट है:<ref>{{cite book |last1=Lindholm |first1=Tim |last2=Yellin |first2=Frank |last3=Bracha |first3=Gilad |last4=Buckley |first4=Alex |title=The Java® Virtual Machine Specification |date=13 February 2015 |url=https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.3 |chapter=Chapter 2. The Structure of the Java Virtual Machine}}</ref>
* [[पूर्णांक (कंप्यूटर विज्ञान)]] प्रकार विभिन्न प्रकार की रेंज और [[सटीक (कंप्यूटर विज्ञान)|त्रुटिहीन (कंप्यूटर विज्ञान)]] के साथ (कंप्यूटर विज्ञान)<code>byte</code>, <code>short</code>, <code>int</code>, <code>long</code>, <code>char</code>)
* [[तैरनेवाला स्थल]] | सिंगल या डबल परिशुद्धता (कंप्यूटर विज्ञान) के साथ फ़्लोटिंग-पॉइंट नंबर; (<code>float</code>, <code>double</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>
ये आदिम प्रकार सामान्य रूप से कंप्यूटर हार्डवेयर द्वारा समर्थित होते हैं, संभवतः अलग-अलग पूर्णांक आकार या हार्डवेयर के लिए जो फ़्लोटिंग पॉइंट गायब है। ऐसे प्रिमिटिव पर ऑपरेशन सामान्यतः अधिक कुशल होते हैं। आदिम डेटा प्रकार जो प्रोसेसर के मूल हैं, कंप्यूटर की मेमोरी में वस्तुओं के साथ एक-से-एक पत्राचार करते हैं, और इन प्रकारों पर संचालन अधिकांश अधिकांशतः स्थितियों में सबसे तेज़ संभव होता है।<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}}
मूलभूत C_data_types#Basic_types का सेट जावा के समान है। कम से कम, चार प्रकार हैं, <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>




=== पूर्णांक संख्या ===
=== पूर्णांक संख्या ===
{{Main|Integer (computer science)}}
{{Main|पूर्णांक (कंप्यूटर विज्ञान)}}
एक पूर्णांक (कंप्यूटर विज्ञान) डेटा प्रकार कुछ [[अंतराल (गणित)]] का प्रतिनिधित्व करता है। पूर्णांक या तो हस्ताक्षरित हो सकते हैं (नकारात्मक मानों की अनुमति देते हैं) या अहस्ताक्षरित (केवल गैर-ऋणात्मक पूर्णांक)। सामान्य श्रेणियां हैं:
पूर्णांक (कंप्यूटर विज्ञान) डेटा प्रकार कुछ [[अंतराल (गणित)]] का प्रतिनिधित्व करता है। पूर्णांक या तो हस्ताक्षरित हो सकते हैं (ऋणात्मक मानों की अनुमति देते हैं) या अहस्ताक्षरित (केवल गैर-ऋणात्मक पूर्णांक)। सामान्य श्रेणियां हैं:


{| class="wikitable"
{| class="wikitable"
|-
|-
! Size ([[byte]]s)
! आकार ([[byte|बाइट्स]])
! Size ([[bit]]s)
! आकार ([[bit|बिट्स]])
! Names
! नाम
! [[Signed number representations|Signed]] range ([[two's complement]] representation)
! [[Signed number representations|हस्ताक्षरित]] श्रेणी ([[two's complement|दो का पूरक]] प्रतिनिधित्व)
! Unsigned range
! अहस्ताक्षरित श्रेणी
|-
|-
| 1 byte
| 1 बाइट
| 8 bits
| 8 bits
| [[Byte]], [[octet (computing)|octet]], minimum size of <code>char</code> in [[C (programming language)|C99]]( see [[limits.h]] CHAR_BIT)
| [[C (programming language)|C99]] में [[Byte|बाइट]], [[octet (computing)|ऑक्टेट]] , <code>char</code> का न्यूनतम आकार ([[limits.h|सीमा डॉट एच]] चार_बिट)
| −128 to +127
| −128 to +127
| 0 to 255
| 0 to 255
|-
|-
| 2 bytes
| 2 बाइट्स
| 16 bits
| 16 bits
| [[x86]] [[Word (computer architecture)|word]], minimum size of <code>short</code> and <code>int</code> in C
| [[x86]] [[Word (computer architecture)|शब्द]], C में <code>short</code> and <code>int</code> का न्यूनतम आकार
| −32,768 to +32,767
| −32,768 to +32,767
| 0 to 65,535
| 0 to 65,535
|-
|-
| 4 bytes
| 4 बाइट्स
| 32 bits
| 32 bits
| x86 double word, minimum size of <code>long</code> in C, actual size of <code>int</code> for most modern C compilers,<ref name=agnerfog>{{cite web|url=http://www.agner.org/optimize/calling_conventions.pdf|title=Calling conventions for different C++ compilers and operating systems: Chapter 3, Data Representation |date=2010-02-16 |access-date=2010-08-30 |last=Fog |first=Agner}}</ref> [[Pointer (computer programming)|pointer]] for [[IA-32]]-compatible processors
| x86 दोहरा शब्द, सी में <code>long</code> समय का न्यूनतम आकार, अधिकांश आधुनिक सी कंपाइलर्स<ref name="agnerfog">{{cite web|url=http://www.agner.org/optimize/calling_conventions.pdf|title=Calling conventions for different C++ compilers and operating systems: Chapter 3, Data Representation |date=2010-02-16 |access-date=2010-08-30 |last=Fog |first=Agner}}</ref> के लिए <code>int</code> का वास्तविक आकार, [[IA-32]]-संगत प्रोसेसर के लिए [[Pointer (computer programming)|सूचक]]
| −2,147,483,648 to +2,147,483,647
| −2,147,483,648 to +2,147,483,647
| 0 to 4,294,967,295
| 0 to 4,294,967,295
|-
|-
| 8 bytes
| 8 बाइट्स
| 64 bits
| 64 bits
| x86 quadruple word, minimum size of <code>long long</code> in C, actual size of <code>long</code> for most modern C compilers,<ref name=agnerfog /> pointer for [[x86-64]]-compatible processors
| x86 चौगुनी शब्द, C में <code>long long</code> का न्यूनतम आकार, अधिकांश आधुनिक C कंपाइलरों<ref name="agnerfog" /> के लिए <code>long</code> का वास्तविक आकार, [[x86-64]]-संगत प्रोसेसर के लिए सूचक
| −9,223,372,036,854,775,808 to +9,223,372,036,854,775,807
| −9,223,372,036,854,775,808 to +9,223,372,036,854,775,807
| 0 to 18,446,744,073,709,551,615
| 0 to 18,446,744,073,709,551,615
Line 54: Line 56:




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


=== बूलियन ===
=== बूलियन ===
{{Main|Boolean datatype}}
{{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>




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


XML स्कीमा डेफिनिशन भाषा 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>: एक QName स्कीमा में एक नोटेशन के रूप में घोषित किया गया। गैर-एक्सएमएल डेटा प्रकारों को एम्बेड करने के लिए नोटेशन का उपयोग किया जाता है।<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> इस प्रकार का सीधे तौर पर उपयोग नहीं किया जा सकता है - केवल व्युत्पन्न प्रकारों का उपयोग किया जा सकता है जो QNames के सीमित सेट की गणना करते हैं।
* <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> इस प्रकार का सीधे तौर पर उपयोग नहीं किया जा सकता है - केवल व्युत्पन्न प्रकारों का उपयोग किया जा सकता है जो क्यूनामों के सीमित सेट की गणना करते हैं।


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


जावास्क्रिप्ट में, 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>


<!-- Please note: having constructs provided by the standard library does not make them "built-in" -->
सामान्य तौर पर, परिष्कृत प्रोग्रामिंग भाषाओं में बनाए जा सकने वाले डेटा प्रकारों में सम्मिलित हैं:
सामान्य तौर पर, परिष्कृत प्रोग्रामिंग भाषाओं में बनाए जा सकने वाले डेटा प्रकारों में सम्मिलित हैं:
* वर्ण और तार (#वर्ण और तार देखें)
* वर्ण और तार (वर्ण और तार देखें)
* रेंज (देखें #Ranges)
* श्रेणियां (देखें श्रेणी)
* [[मानक एमएल]] में [[टपल]], पायथन (प्रोग्रामिंग लैंग्वेज), [[स्काला (प्रोग्रामिंग भाषा)]], [[स्विफ्ट (प्रोग्रामिंग भाषा)]], [[अमृत ​​​​(प्रोग्रामिंग भाषा)]]
* [[मानक एमएल]] में [[टपल]], पायथन (प्रोग्रामिंग लैंग्वेज), [[स्काला (प्रोग्रामिंग भाषा)]], [[स्विफ्ट (प्रोग्रामिंग भाषा)]], [[अमृत ​​​​(प्रोग्रामिंग भाषा)]]
* [[सामान्य लिस्प]], [[पायथन (प्रोग्रामिंग भाषा)]], [[योजना (प्रोग्रामिंग भाषा)]], [[हास्केल (प्रोग्रामिंग भाषा)]] में [[सूची (सार डेटा प्रकार)]]
* [[सामान्य लिस्प]], [[पायथन (प्रोग्रामिंग भाषा)]], [[योजना (प्रोग्रामिंग भाषा)]], [[हास्केल (प्रोग्रामिंग भाषा)]] में [[सूची (सार डेटा प्रकार)]]
* फिक्स्ड-पॉइंट अंकगणित | विभिन्न प्रकार की शुद्धता (कंप्यूटर विज्ञान) के साथ फिक्स्ड-पॉइंट नंबर और परिमाण का एक प्रोग्रामर-चयनित क्रम।
* विभिन्न प्रकार की शुद्धता (कंप्यूटर विज्ञान) और प्रोग्रामर-चयनित पैमाने के साथ निश्चित-बिंदु संख्या।
* C99, [[फोरट्रान]], कॉमन लिस्प, पायथन (प्रोग्रामिंग लैंग्वेज), D (प्रोग्रामिंग लैंग्वेज), [[जाओ (प्रोग्रामिंग भाषा)]] में [[जटिल डेटा प्रकार]] यह दो फ़्लोटिंग-पॉइंट संख्याएँ हैं, एक वास्तविक भाग और एक काल्पनिक भाग।
* C99, [[फोरट्रान]], कॉमन लिस्प, पायथन (प्रोग्रामिंग लैंग्वेज), D (प्रोग्रामिंग लैंग्वेज), [[जाओ (प्रोग्रामिंग भाषा)]] में [[जटिल डेटा प्रकार]] यह दो चल बिन्दु, वास्तविक भाग और काल्पनिक भाग संख्याएँ हैं।
* सामान्य लिस्प में [[तर्कसंगत डेटा प्रकार]]
* सामान्य लिस्प में [[तर्कसंगत डेटा प्रकार]]
* [[मनमाना-सटीक अंकगणित|स्वैछिक-त्रुटिहीन अंकगणित]]|स्वैछिक-परिशुद्धता <code>Integer</code> सामान्य लिस्प, एरलांग (प्रोग्रामिंग भाषा), हास्केल (प्रोग्रामिंग भाषा) में टाइप करें
* [[मनमाना-सटीक अंकगणित|स्वैछिक-परिशुद्धता अंकगणित]]| <code>Integer</code> सामान्य लिस्प, एरलांग (प्रोग्रामिंग भाषा), हास्केल (प्रोग्रामिंग भाषा) में टाइप करें
* [[पर्ल]], [[पीएचपी]], पायथन (प्रोग्रामिंग लैंग्वेज), [[रूबी (प्रोग्रामिंग भाषा)]], [[जावास्क्रिप्ट]], लुआ (प्रोग्रामिंग लैंग्वेज), डी (प्रोग्रामिंग लैंग्वेज), गो (प्रोग्रामिंग लैंग्वेज) में [[साहचर्य सरणी]]
* [[पर्ल]], [[पीएचपी]], पायथन (प्रोग्रामिंग लैंग्वेज), [[रूबी (प्रोग्रामिंग भाषा)]], [[जावास्क्रिप्ट]], लुआ (प्रोग्रामिंग लैंग्वेज), डी (प्रोग्रामिंग लैंग्वेज), गो (प्रोग्रामिंग लैंग्वेज) में [[साहचर्य सरणी]]
* [[संदर्भ (कंप्यूटर विज्ञान)]] (जिसे पॉइंटर (कंप्यूटर प्रोग्रामिंग) या हैंडल या डिस्क्रिप्टर भी कहा जाता है),
* [[संदर्भ (कंप्यूटर विज्ञान)]] (जिसे पॉइंटर (कंप्यूटर प्रोग्रामिंग) या हैंडल या डिस्क्रिप्टर भी कहा जाता है),
* प्रथम श्रेणी के कार्य, सभी [[कार्यात्मक प्रोग्रामिंग]] भाषाओं में, जावास्क्रिप्ट, [[लुआ (प्रोग्रामिंग भाषा)]], डी (प्रोग्रामिंग भाषा), गो (प्रोग्रामिंग भाषा), और सी ++, जावा (प्रोग्रामिंग भाषा), सी शार्प (प्रोग्रामिंग भाषा) के नए मानकों में )|सी#, पर्ल
* प्रथम श्रेणी के कार्य, सभी [[कार्यात्मक प्रोग्रामिंग]] भाषाओं में, जावास्क्रिप्ट, [[लुआ (प्रोग्रामिंग भाषा)]], डी (प्रोग्रामिंग भाषा), गो (प्रोग्रामिंग भाषा), और सी ++, जावा (प्रोग्रामिंग भाषा), सी शार्प (प्रोग्रामिंग भाषा) पर्ल के नए मानकों में )|


=== वर्ण और तार ===
=== वर्ण और तार ===
एक वर्ण (कंप्यूटिंग) प्रकार एक प्रकार है जो सभी [[यूनिकोड वर्ण]]ों का प्रतिनिधित्व कर सकता है, इसलिए कम से कम 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> एक संख्यात्मक प्रकार के रूप में। <code>char</code> जावा (प्रोग्रामिंग भाषा) में 16-बिट पूर्णांक प्रकार के लिए भी प्रयोग किया जाता है, किन्तु फिर से यह एक यूनिकोड वर्ण प्रकार नहीं है।<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>




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


== यह भी देखें ==
== यह भी देखें ==
* [[भाषा आदिम]]
* [[भाषा आदिम|भाषा प्राथमिक]]
* {{section link|List of data structures|Data types}}
* {{section link|डेटा संरचनाओं की सूची|डेटा के प्रकार}}
* [[वस्तु प्रकार]]
* [[वस्तु प्रकार]]
* [[आदिम आवरण वर्ग]]
* [[आदिम आवरण वर्ग|प्राथमिक आवरण वर्ग]]
* [[चर (कंप्यूटर विज्ञान)]]
* [[चर (कंप्यूटर विज्ञान)]]


Line 120: 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.


बाहरी संबंध