पूर्णांक (कंप्यूटर विज्ञान): 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|Datum of integral data type}}
{{short description|Datum of integral data type}}
कंप्यूटर विज्ञान में, एक [[पूर्णांक]] अभिन्न [[आंकड़े]] प्रकार का एक डेटा है, एक [[डेटा प्रकार]] जो गणितीय पूर्णांकों के कुछ [[अंतराल (गणित)]] का प्रतिनिधित्व करता है। इंटीग्रल डेटा प्रकार विभिन्न आकारों के हो सकते हैं और नकारात्मक मान रखने की अनुमति हो भी सकती है और नहीं भी। पूर्णांकों को आमतौर पर कंप्यूटर में बाइनरी अंकों (बिट्स) के समूह के रूप में दर्शाया जाता है। समूहीकरण का आकार भिन्न होता है इसलिए उपलब्ध पूर्णांक आकारों का सेट विभिन्न प्रकार के कंप्यूटरों के बीच भिन्न होता है। कंप्यूटर हार्डवेयर लगभग हमेशा एक पूर्णांक के रूप में एक प्रोसेसर शब्द आकार या मेमोरी एड्रेस का प्रतिनिधित्व करने का एक तरीका प्रदान करता है।
कंप्यूटर विज्ञान में, एक '''[[पूर्णांक]]''' अभिन्न [[आंकड़े]] प्रकार का एक डेटा है, एक [[डेटा प्रकार]] जो गणितीय पूर्णांकों के कुछ [[अंतराल (गणित)]] का प्रतिनिधित्व करता है। अविभाज्य डेटा प्रकार विभिन्न आकारों के हो सकते हैं और ऋणात्मक मान रखने की अनुमति हो भी सकती है और नहीं भी हो सकती हैं। पूर्णांकों को सामान्यतः कंप्यूटर में बाइनरी अंकों (बिट्स) के समूह के रूप में दर्शाया जाता है। समूहीकरण का आकार भिन्न होता है इसलिए उपलब्ध पूर्णांक आकारों का समुच्चय विभिन्न प्रकार के कंप्यूटरों के बीच भिन्न होता है। कंप्यूटर हार्डवेयर लगभग हमेशा प्रोसेसर रजिस्टर या मेमोरी पता को पूर्णांक के रूप में प्रस्तुत करने की एक विधि प्रदान करती है।


== मूल्य और प्रतिनिधित्व ==
== मान और प्रतिनिधित्व ==
अभिन्न प्रकार वाले किसी आइटम का मान वह गणितीय पूर्णांक है जिससे वह मेल खाता है। अभिन्न प्रकार अहस्ताक्षरित हो सकते हैं (केवल गैर-नकारात्मक पूर्णांकों का प्रतिनिधित्व करने में सक्षम) या हस्ताक्षरित (ऋणात्मक पूर्णांकों का प्रतिनिधित्व करने में सक्षम)<ref>{{cite web |url=http://www.swarthmore.edu/NatSci/echeeve1/Ref/BinaryMath/NumSys.html |title=Representation of numbers |last=Cheever |first=Eric |publisher=Swarthmore College |access-date=2011-09-11}}</ref>
अभिन्न प्रकार वाले किसी वस्तु का मान वह गणितीय पूर्णांक है जिससे वह मेल खाता है। अभिन्न प्रकार अहस्ताक्षरित (केवल गैर-ऋणात्मक पूर्णांकों का प्रतिनिधित्व करने में सक्षम) या हस्ताक्षरित (ऋणात्मक पूर्णांकों का प्रतिनिधित्व करने में सक्षम) हो सकते हैं।<ref>{{cite web |url=http://www.swarthmore.edu/NatSci/echeeve1/Ref/BinaryMath/NumSys.html |title=Representation of numbers |last=Cheever |first=Eric |publisher=Swarthmore College |access-date=2011-09-11}}</ref>
एक पूर्णांक मान आमतौर पर एक प्रोग्राम के स्रोत कोड में अंकों के अनुक्रम के रूप में वैकल्पिक रूप से + या - के साथ उपसर्ग के रूप में निर्दिष्ट किया जाता है। कुछ प्रोग्रामिंग लैंग्वेज अन्य नोटेशन की अनुमति देती हैं, जैसे हेक्साडेसिमल (बेस 16) या ऑक्टल (बेस 8)। कुछ प्रोग्रामिंग लैंग्वेज [[अंक समूह विभाजक]]्स को भी अनुमति देती हैं।<ref>{{cite web|author=Madhusudhan Konda |url=http://radar.oreilly.com/2011/09/java7-features.html |title=A look at Java 7's new features - O'Reilly Radar |publisher=Radar.oreilly.com |date=2011-09-02 |access-date=2013-10-15}}</ref>
इस डेटाम का आंतरिक प्रतिनिधित्व कंप्यूटर की मेमोरी में मान को संग्रहीत करने का तरीका है। गणितीय पूर्णांकों के विपरीत, कंप्यूटर में एक विशिष्ट डेटाम का कुछ न्यूनतम और अधिकतम संभव मान होता है।


द्विआधारी अंक प्रणाली का उपयोग करते हुए, एक सकारात्मक पूर्णांक का सबसे आम प्रतिनिधित्व [[अंश]]्स की एक स्ट्रिंग है। बिट्स को संग्रहीत करने वाली मेमोरी [[बाइट]]्स का क्रम भिन्न होता है; [[endianness]] देखें। एक अभिन्न प्रकार की चौड़ाई या सटीकता इसके प्रतिनिधित्व में बिट्स की संख्या है। एन बिट्स के साथ एक अभिन्न प्रकार 2 को सांकेतिक शब्दों में बदल सकता है<sup>n</sup> संख्याएं; उदाहरण के लिए एक अहस्ताक्षरित प्रकार आमतौर पर गैर-नकारात्मक मान 0 से 2 का प्रतिनिधित्व करता है<sup>एन</sup>−1. बिट पैटर्न के पूर्णांक मानों के अन्य एन्कोडिंग कभी-कभी उपयोग  जाते हैं, उदाहरण के लिए [[बाइनरी-कोडित दशमलव]] या [[ग्रे कोड]], या मुद्रित वर्ण कोड जैसे [[ASCII]]।
एक पूर्णांक मान सामान्यतः एक प्रोग्राम के स्रोत कोड में अंकों के अनुक्रम के रूप में वैकल्पिक रूप से + या - के साथ उपसर्ग के रूप में निर्दिष्ट किया जाता है। कुछ प्रोग्रामिंग भाषा अन्य नोटेशन की अनुमति देती हैं, जैसे हेक्साडेसिमल (बेस 16) या ऑक्टल (बेस 8)। कुछ प्रोग्रामिंग भाषा [[अंक समूह विभाजक|अंक समूह विभाजकों]] को भी अनुमति देती हैं।<ref>{{cite web|author=Madhusudhan Konda |url=http://radar.oreilly.com/2011/09/java7-features.html |title=A look at Java 7's new features - O'Reilly Radar |publisher=Radar.oreilly.com |date=2011-09-02 |access-date=2013-10-15}}</ref>


बाइनरी कंप्यूटिंग सिस्टम में चार प्रसिद्ध [[हस्ताक्षरित संख्या प्रतिनिधित्व]] हैं। सबसे आम दो का पूरक है, जो एन बिट्स के साथ एक हस्ताक्षरित अभिन्न प्रकार को -2 से संख्याओं का प्रतिनिधित्व करने की अनुमति देता है<sup>(n−1)</sup> से 2 तक<sup>(n−1)</sup>−1. दो का पूरक अंकगणित सुविधाजनक है क्योंकि एक पूर्ण आक्षेप है | निरूपण और मूल्यों के बीच एक-से-एक पत्राचार (विशेष रूप से, कोई अलग +0 और -0 नहीं), और क्योंकि जोड़, [[घटाव]] और [[गुणा]] को हस्ताक्षरित और के बीच अंतर करने की आवश्यकता नहीं है अहस्ताक्षरित प्रकार। अन्य संभावनाओं में [[ऑफसेट बाइनरी]], [[साइन-परिमाण]] और लोगों का पूरक शामिल हैं।
इस निर्दिष्ट सिद्धांत का आंतरिक प्रतिनिधित्व कंप्यूटर की मेमोरी में मान को संग्रहीत करने की विधि है। गणितीय पूर्णांकों के विपरीत, कंप्यूटर में एक विशिष्ट निर्दिष्ट सिद्धांत का कुछ न्यूनतम और अधिकतम संभव मान होता है।


कुछ कंप्यूटर भाषाएँ पूर्णांक आकार को मशीन-स्वतंत्र तरीके से परिभाषित करती हैं; अंतर्निहित प्रोसेसर शब्द आकार के आधार पर दूसरों की अलग-अलग परिभाषाएँ हैं। सभी भाषा कार्यान्वयन सभी पूर्णांक आकारों के चर को परिभाषित नहीं करते हैं, और परिभाषित आकार किसी विशेष कार्यान्वयन में भिन्न भी नहीं हो सकते हैं। एक [[प्रोग्रामिंग भाषा]] में एक पूर्णांक एक अलग भाषा में या एक अलग प्रोसेसर पर एक अलग आकार का हो सकता है।
द्विआधारी अंक प्रणाली का उपयोग करते हुए, एक सकारात्मक पूर्णांक का सबसे सामान्य प्रतिनिधित्व [[अंश|बिट्स]] की एक स्ट्रिंग है। बिट्स को संग्रहीत करने वाली मेमोरी [[बाइट]] का क्रम भिन्न होता है; [[endianness|एंडियननेस]] देखें। एक अभिन्न प्रकार की चौड़ाई या शुद्धता इसके प्रतिनिधित्व में बिट्स की संख्या है। एन बिट्स के साथ एक अभिन्न प्रकार 2<sup>n</sup> संख्याएं को सांकेतिक शब्दों में बदल सकता है; उदाहरण के लिए एक अहस्ताक्षरित प्रकार सामान्यतः गैर-ऋणात्मक मान 0 से 2<sup>''n''</sup>−1 का प्रतिनिधित्व करता है। बिट पैटर्न के पूर्णांक मानों के अन्य एन्कोडिंग कभी-कभी उदाहरण के लिए [[बाइनरी-कोडित दशमलव]] या [[ग्रे कोड]], या मुद्रित वर्ण कोड जैसे [[ASCII|एएससीआईआई]] के लिए उपयोग किए जाते हैं।


कुछ [[दशमलव कंप्यूटर]] पूर्णांकों के दशमलव निरूपण का उपयोग करते हैं, जो बाइनरी-कोडेड दशमलव | बाइनरी-कोडेड दशमलव (BCD) या अन्य प्रारूप में संग्रहीत होते हैं। इन मानों के लिए आमतौर पर 4 बिट्स प्रति दशमलव अंक (कभी-कभी [[कुतरना]] कहा जाता है) के डेटा आकार की आवश्यकता होती है, आमतौर पर एक संकेत के लिए अतिरिक्त बिट्स के साथ। कई आधुनिक सीपीयू एक विस्तारित डेटाटाइप के रूप में दशमलव पूर्णांकों के लिए सीमित समर्थन प्रदान करते हैं, ऐसे मानों को बाइनरी मानों में और से परिवर्तित करने के लिए निर्देश प्रदान करते हैं। आर्किटेक्चर के आधार पर, दशमलव पूर्णांकों के निश्चित आकार हो सकते हैं (उदाहरण के लिए, 7 दशमलव अंक और 32-बिट शब्द में फिट होने वाला चिह्न), या चर-लंबाई (कुछ अधिकतम अंकों के आकार तक) हो सकता है, आमतौर पर प्रति बाइट में दो अंक होते हैं। (ओक्टेट)।
बाइनरी कंप्यूटिंग प्रणाली में [[हस्ताक्षरित संख्या प्रतिनिधित्व|हस्ताक्षरित संख्याओं का प्रतिनिधित्व]] करने के चार प्रसिद्ध विधियाँ हैं। सबसे सामान्य दो का पूरक है, जो एन बिट्स के साथ एक हस्ताक्षरित अभिन्न प्रकार को -2<sup>(n−1)</sup> से 2<sup>(n−1</sup>)−1 संख्याओं का प्रतिनिधित्व करने की अनुमति देता हैं। दो का पूरक अंकगणित सुविधाजनक है क्योंकि एक पूर्ण आक्षेप है | निरूपण और मानों (विशेष रूप से, कोई अलग +0 और -0 नहीं) के बीच एक-से-एक सही पत्राचार नहीं है, और क्योंकि जोड़, [[घटाव]] और [[गुणा]] को हस्ताक्षरित और अहस्ताक्षरित प्रकारों के बीच अंतर करने की आवश्यकता नहीं है। अन्य संभावनाओं में [[ऑफसेट बाइनरी|ऑफसमुच्चय बाइनरी]], [[साइन-परिमाण]] और लोगों का पूरक शामिल हैं।
 
कुछ कंप्यूटर भाषाएँ पूर्णांक आकार को मशीन-स्वतंत्र विधियों से परिभाषित करती हैं; अंतर्निहित प्रोसेसर शब्द आकार के आधार पर दूसरों की अलग-अलग परिभाषाएँ हैं। सभी भाषा कार्यान्वयन सभी पूर्णांक आकारों के चर को परिभाषित नहीं करते हैं, और परिभाषित आकार किसी विशेष कार्यान्वयन में भिन्न भी नहीं हो सकते हैं। एक [[प्रोग्रामिंग भाषा]] में एक पूर्णांक एक अलग भाषा में या एक अलग प्रोसेसर पर एक अलग आकार का हो सकता है।
 
कुछ [[दशमलव कंप्यूटर]] पूर्णांकों के दशमलव निरूपण का उपयोग करते हैं, जो बाइनरी-कोडेड दशमलव (बीसीडी) या अन्य प्रारूप में संग्रहीत होते हैं। इन मानों को सामान्यतः एक संकेत के लिए अतिरिक्त बिट्स के साथ सामान्यतौर पर 4 बिट प्रति दशमलव अंक (कभी-कभी [[कुतरना|निबल]] कहा जाता है) के डेटा आकार की आवश्यकता होती है। कई आधुनिक सीपीयू एक विस्तारित डेटाप्रकार के रूप में दशमलव पूर्णांकों के लिए सीमित समर्थन प्रदान करते हैं, ऐसे मानों को बाइनरी मानों में और से परिवर्तित करने के लिए निर्देश प्रदान करते हैं। आर्किटेक्चर के आधार पर, दशमलव पूर्णांकों के निश्चित आकार हो सकते हैं (उदाहरण के लिए, 7 दशमलव अंक और 32-बिट शब्द में फिट होने वाला चिह्न), या चर-लंबाई (कुछ अधिकतम अंकों के आकार तक) हो सकता है, सामान्यतः प्रति बाइट (ओक्टेट) में दो अंक होते हैं।


== सामान्य अभिन्न डेटा प्रकार ==
== सामान्य अभिन्न डेटा प्रकार ==
Line 176: Line 178:
| rowspan="2" style="text-align:right;"| ''n''
| rowspan="2" style="text-align:right;"| ''n''
| rowspan="2" | एन-बिट पूर्णांक
| rowspan="2" | एन-बिट पूर्णांक
(सामान्य मामला)
(सामान्य स्थिति)
| ''हस्ताक्षरित:'' −(2<sup>''n''−1</sup>) से (2<sup>''n''−1</sup>&nbsp;−1)
| ''हस्ताक्षरित:'' −(2<sup>''n''−1</sup>) से (2<sup>''n''−1</sup>&nbsp;−1)
| colspan="2" | (''n''−1) log<sub>10</sub>2
| colspan="2" | (''n''−1) log<sub>10</sub>2
Line 185: Line 187:
| colspan="8" | पता:  श्रेणी 0..2**n-1,  मॉड 2**n; मानक पुस्तकालय' या तृतीय-पक्ष स्वैच्छिक अंकगणित पुस्तकालय 'बिगडिसीमल या दशमलव कक्षाएं कई भाषाओं में जैसे कि पायथन, सी ++, आदि।
| colspan="8" | पता:  श्रेणी 0..2**n-1,  मॉड 2**n; मानक पुस्तकालय' या तृतीय-पक्ष स्वैच्छिक अंकगणित पुस्तकालय 'बिगडिसीमल या दशमलव कक्षाएं कई भाषाओं में जैसे कि पायथन, सी ++, आदि।
|}
|}
विभिन्न [[सेंट्रल प्रोसेसिंग यूनिट]] विभिन्न अभिन्न डेटा प्रकारों का समर्थन करते हैं। आमतौर पर, हार्डवेयर हस्ताक्षरित और अहस्ताक्षरित दोनों प्रकारों का समर्थन करेगा, लेकिन चौड़ाई का केवल एक छोटा, निश्चित सेट।
विभिन्न [[सेंट्रल प्रोसेसिंग यूनिट]] विभिन्न अभिन्न डेटा प्रकारों का समर्थन करते हैं। सामान्यतः, हार्डवेयर हस्ताक्षरित और अहस्ताक्षरित दोनों प्रकारों किन्तु चौड़ाई का केवल एक छोटा, निश्चित समुच्चय का समर्थन करता है।


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


[[लिस्प प्रोग्रामिंग भाषा]], स्मॉलटाक, [[रेक्स]], [[हास्केल (प्रोग्रामिंग भाषा)]], पायथन (प्रोग्रामिंग लैंग्वेज), और [[राकू (प्रोग्रामिंग भाषा)]] जैसी कुछ भाषाएं स्वैच्छिक सटीक पूर्णांक (जिसे अनंत सटीक पूर्णांक या [[bignum]] भी कहा जाता है) का समर्थन करती हैं। अन्य भाषाएँ जो इस अवधारणा को एक शीर्ष-स्तरीय निर्माण के रूप में समर्थन नहीं करती हैं, उनमें छोटे चर के सरणियों का उपयोग करके बहुत बड़ी संख्या का प्रतिनिधित्व करने के लिए पुस्तकालय उपलब्ध हो सकते हैं, जैसे कि जावा का {{mono|BigInteger}} क्लास या [[पर्ल]]{{mono|bigint}}पैकेट।<ref>{{cite web |url=http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html |title=BigInteger (Java Platform SE 6) |publisher=Oracle |access-date=2011-09-11 }}</ref> ये कंप्यूटर की उतनी ही मेमोरी का उपयोग करते हैं जितनी संख्याओं को संग्रहीत करने के लिए आवश्यक होती है; हालाँकि, एक कंप्यूटर में केवल एक सीमित मात्रा में भंडारण होता है, इसलिए वे भी केवल गणितीय पूर्णांकों के एक सीमित उपसमुच्चय का प्रतिनिधित्व कर सकते हैं। ये योजनाएँ बहुत बड़ी संख्या का समर्थन करती हैं; उदाहरण के लिए एक किलोबाइट मेमोरी का उपयोग 2466 दशमलव अंकों तक की संख्या को स्टोर करने के लिए किया जा सकता है।
[[लिस्प प्रोग्रामिंग भाषा]], स्मॉलटाक, [[रेक्स]], [[हास्केल (प्रोग्रामिंग भाषा)]], पायथन (प्रोग्रामिंग भाषा), और [[राकू (प्रोग्रामिंग भाषा)]] जैसी कुछ भाषाएं स्वैच्छिक त्रुटिहीन पूर्णांक (जिसे अनंत त्रुटिहीन पूर्णांक या [[bignum|बिग्नम]] भी कहा जाता है) का समर्थन करती हैं। अन्य भाषाएं जो इस अवधारणा को एक शीर्ष-स्तरीय निर्माण के रूप में समर्थन नहीं करती हैं, उनमें जावा के {{mono|बड़ा पूर्णांक}} वर्ग या [[पर्ल]] के "{{mono|बिगिन्ट}}" पैकेज जैसे छोटे चर के सरणियों का उपयोग करके अधिक बड़ी संख्या का प्रतिनिधित्व करने के लिए पुस्तकालय उपलब्ध हो सकते हैं।<ref>{{cite web |url=http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html |title=BigInteger (Java Platform SE 6) |publisher=Oracle |access-date=2011-09-11 }}</ref> ये कंप्यूटर की उतनी ही मेमोरी का उपयोग करते हैं जितनी संख्याओं को संग्रहीत करने के लिए आवश्यक होती है; चूँकि, एक कंप्यूटर में केवल एक सीमित मात्रा में संचय होता है, इसलिए वे भी केवल गणितीय पूर्णांकों के एक सीमित उपसमुच्चय का प्रतिनिधित्व कर सकते हैं। ये योजनाएँ अधिक बड़ी संख्या का समर्थन करती हैं; उदाहरण के लिए एक किलोबाइट मेमोरी का उपयोग 2466 दशमलव अंकों तक की संख्या को स्टोर करने के लिए किया जा सकता है।


एक [[बूलियन डेटाटाइप]] या [[ध्वज (कंप्यूटिंग)]] प्रकार एक प्रकार है जो केवल दो मानों का प्रतिनिधित्व कर सकता है: 0 और 1, आमतौर पर क्रमशः गलत और सत्य के साथ पहचाना जाता है। <!-- Pascal has them the other way around --> इस प्रकार को एक बिट का उपयोग करके स्मृति में संग्रहीत किया जा सकता है, लेकिन अक्सर पता लगाने और पहुंच की गति की सुविधा के लिए इसे पूर्ण बाइट दिया जाता है।
एक [[बूलियन डेटाटाइप|बूलियन डेटाप्रकार]] या [[ध्वज (कंप्यूटिंग)]] प्रकार एक प्रकार है जो केवल दो मानों 0 और 1 का प्रतिनिधित्व कर सकता है: सामान्यतः क्रमशः गलत और सत्य के साथ पहचाना जाता है। इस प्रकार को एक बिट का उपयोग करके स्मृति में संग्रहीत किया जा सकता है, किन्तु अधिकांश पता लगाने और पहुंच की गति की सुविधा के लिए इसे पूर्ण बाइट दिया जाता है।


एक चार-बिट मात्रा को निबल (खाते समय, काटने से छोटा होना) या नीबल (शब्द बाइट के रूप में एक वाक्य होना) के रूप में जाना जाता है। एक निबल [[हेक्साडेसिमल]] में एक अंक से मेल खाता है और बाइनरी-कोडेड दशमलव में एक अंक या साइन कोड रखता है।
एक चार-बिट मात्रा को निबल (खाते समय, काटने से छोटा होना) या नीबल (शब्द बाइट के रूप में एक वाक्य होना) के रूप में जाना जाता है। एक निबल [[हेक्साडेसिमल]] में एक अंक से मेल खाता है और बाइनरी-कोडेड दशमलव में एक अंक या साइन कोड रखता है।


=== बाइट्स और ऑक्टेट ===
=== बाइट्स और ऑक्टेट ===
{{Main article|Byte|Octet (computing)}}
{{Main article|बाइट|ऑक्टेट (कंप्यूटिंग)}}
बाइट शब्द का शुरू में अर्थ था 'स्मृति की सबसे छोटी पता योग्य इकाई'अतीत में, 5-, 6-, 7-, 8-, और 9-बिट बाइट सभी का उपयोग किया गया है। ऐसे कंप्यूटर भी हैं जो अलग-अलग बिट्स ('बिट-एड्रेस्ड मशीन') को संबोधित कर सकते हैं, या जो केवल 16- या 32-बिट मात्राओं ('वर्ड-एड्रेस्ड मशीन') को संबोधित कर सकते हैं। शब्द बाइट आमतौर पर बिट- और वर्ड-एड्रेसेड मशीनों के संबंध में बिल्कुल भी उपयोग नहीं किया जाता था।
 
बाइट शब्द का शुरू में अर्थ 'स्मृति की सबसे छोटी पता योग्य इकाई' था। अतीत में, 5-, 6-, 7-, 8-, और 9-बिट बाइट सभी का उपयोग किया गया है। ऐसे कंप्यूटर भी हैं जो अलग-अलग बिट्स ('बिट-पता मशीन') को संबोधित कर सकते हैं, या जो केवल 16- या 32-बिट मात्राओं ('वर्ड-पता मशीन') को संबोधित कर सकते हैं। शब्द बाइट सामान्यतः बिट- और वर्ड-पता मशीनों के संबंध में बिल्कुल भी उपयोग नहीं किया जाता था।


ऑक्टेट शब्द हमेशा 8-बिट मात्रा को संदर्भित करता है। यह ज्यादातर [[संगणक संजाल]]िंग के क्षेत्र में उपयोग किया जाता है, जहां विभिन्न बाइट चौड़ाई वाले कंप्यूटरों को संचार करना पड़ सकता है।
ऑक्टेट शब्द हमेशा 8-बिट मात्रा को संदर्भित करता है। यह अधिकांशतः [[संगणक संजाल|कंप्यूटर नेटवर्क]] के क्षेत्र में उपयोग किया जाता है, जहां विभिन्न बाइट चौड़ाई वाले कंप्यूटरों को संचार करना पड़ सकता है।


आधुनिक उपयोग में बाइट का अर्थ लगभग हमेशा आठ बिट्स होता है, क्योंकि अन्य सभी आकार अनुपयोगी हो गए हैं; इस प्रकार बाइट ऑक्टेट का पर्याय बन गया है।
आधुनिक उपयोग में बाइट का अर्थ लगभग हमेशा आठ बिट्स होता है, क्योंकि अन्य सभी आकार अनुपयोगी हो गए हैं; इस प्रकार बाइट ऑक्टेट का पर्याय बन गया है।


=== शब्द ===
=== शब्द ===
{{Main article|Word (computer architecture)}}
{{Main article|वर्ड (कंप्यूटर आर्किटेक्चर)}}
'शब्द' शब्द का प्रयोग बिट्स के एक छोटे समूह के लिए किया जाता है जिसे एक विशेष [[कंप्यूटर आर्किटेक्चर]] के प्रोसेसर द्वारा एक साथ नियंत्रित किया जाता है। एक शब्द का आकार इस प्रकार सीपीयू-विशिष्ट है। 6-, 8-, 12-, 16-, 18-, 24-, 32-, 36-, 39-, 40-, 48-, 60-, और 64-बिट सहित कई अलग-अलग शब्द आकारों का उपयोग किया गया है। चूंकि यह वास्तुकला है, एक शब्द का आकार आमतौर पर बाद में संगत सीपीयू की विशेषताओं के बजाय परिवार में पहले सीपीयू द्वारा निर्धारित किया जाता है। शब्द से प्राप्त शब्दों के अर्थ, जैसे लॉन्गवर्ड, डबलवर्ड, क्वाडवर्ड और हाफवर्ड, भी सीपीयू और ओएस के साथ भिन्न होते हैं।<ref name="agnerfog" />
'शब्द' शब्द का प्रयोग बिट्स के एक छोटे समूह के लिए किया जाता है जिसे एक विशेष [[कंप्यूटर आर्किटेक्चर]] के प्रोसेसर द्वारा एक साथ नियंत्रित किया जाता है। एक शब्द का आकार इस प्रकार सीपीयू-विशिष्ट है। 6-, 8-, 12-, 16-, 18-, 24-, 32-, 36-, 39-, 40-, 48-, 60-, और 64-बिट सहित कई अलग-अलग शब्द आकारों का उपयोग किया गया है। चूंकि यह वास्तुकला है, एक शब्द का आकार सामान्यतः बाद में संगत सीपीयू की विशेषताओं के अतिरिक्त परिवार में पहले सीपीयू द्वारा निर्धारित किया जाता है। शब्द से प्राप्त शब्दों के अर्थ, जैसे लॉन्गवर्ड, डबलवर्ड, क्वाडवर्ड और हाफवर्ड, भी सीपीयू और ओएस के साथ भिन्न होते हैं।<ref name="agnerfog" />


व्यावहारिक रूप से सभी नए डेस्कटॉप प्रोसेसर 64-बिट शब्दों का उपयोग करने में सक्षम हैं, हालांकि 8- और 16-बिट शब्द आकार वाले [[अंतः स्थापित प्रणाली]] अभी भी आम हैं। कंप्यूटर के शुरुआती दिनों में [[36-बिट]]|36-बिट शब्द की लंबाई आम थी।
व्यावहारिक रूप से सभी नए डेस्कटॉप प्रोसेसर 64-बिट शब्दों का उपयोग करने में सक्षम हैं, चूंकि 8- और 16-बिट शब्द आकार वाले [[अंतः स्थापित प्रणाली]] अभी भी सामान्य हैं। कंप्यूटर के प्रारंभिक दिनों में [[36-बिट]] शब्द की लंबाई सामान्य थी।


सॉफ़्टवेयर की गैर-पोर्टेबिलिटी का एक महत्वपूर्ण कारण यह गलत धारणा है कि सभी कंप्यूटरों में एक ही शब्द का आकार होता है, जैसा कि प्रोग्रामर द्वारा उपयोग जाने वाले कंप्यूटर में होता है। उदाहरण के लिए, यदि कोई प्रोग्रामर C भाषा का उपयोग गलत तरीके से घोषित करता है {{mono|int}} एक चर जिसका उपयोग 2 से अधिक मानों को संग्रहीत करने के लिए किया जाएगा<sup>15</sup>−1, 16-बिट पूर्णांक वाले कंप्यूटर पर प्रोग्राम विफल हो जाएगा। उस चर को घोषित किया जाना चाहिए था {{mono|long}}, जिसमें किसी भी कंप्यूटर पर कम से कम 32 बिट्स हों। प्रोग्रामर गलत तरीके से यह भी मान सकते हैं कि एक सूचक को सूचना के नुकसान के बिना एक पूर्णांक में परिवर्तित किया जा सकता है, जो 32-बिट कंप्यूटरों पर काम कर सकता है, लेकिन 64-बिट कंप्यूटरों पर 64-बिट पॉइंटर्स और 32-बिट पूर्णांकों के साथ विफल हो सकता है। यह समस्या C99 द्वारा stdint.h के रूप में हल की गई है {{code|intptr_t}}.
सॉफ़्टवेयर की गैर-पोर्टेबिलिटी का एक महत्वपूर्ण कारण यह गलत धारणा है कि सभी कंप्यूटरों में एक ही शब्द का आकार होता है, जैसा कि प्रोग्रामर द्वारा उपयोग किए जाने वाले कंप्यूटर में होता है। उदाहरण के लिए, यदि सी भाषा का उपयोग करने वाला प्रोग्रामर गलत तरीके से {{mono|int}} चर घोषित करता है जिसका उपयोग 2<sup>15</sup>−1 से अधिक मानों को संग्रहीत करने के लिए किया जाएगा, तो प्रोग्राम 16-बिट पूर्णांक वाले कंप्यूटरों पर विफल हो जाएगा। उस वेरिएबल को लंबा घोषित किया जाना चाहिए था, जिसमें किसी भी कंप्यूटर पर कम से कम 32 बिट्स हों। प्रोग्रामर गलत तरीके से यह भी मान सकते हैं कि एक सूचक को सूचना के हानि के बिना एक पूर्णांक में परिवर्तित किया जा सकता है, जो 32-बिट कंप्यूटरों पर काम कर सकता है, किन्तु 64-बिट कंप्यूटरों पर 64-बिट पॉइंटर्स और 32-बिट पूर्णांकों के साथ विफल हो सकता है। यह समस्या सी99 द्वारा{{code|stdint.h}} में {{code|intptr_t}} के रूप में समाधान की गई है।


=== लघु पूर्णांक ===
=== लघु पूर्णांक ===
एक छोटा पूर्णांक एक पूर्ण संख्या का प्रतिनिधित्व कर सकता है जो कम भंडारण ले सकता है, जबकि एक ही मशीन पर एक मानक पूर्णांक की तुलना में एक छोटी सी सीमा होती है।
एक छोटा पूर्णांक एक पूर्ण संख्या का प्रतिनिधित्व कर सकता है जो कम संचय ले सकता है, चूँकि एक ही मशीन पर एक मानक पूर्णांक की तुलना में एक छोटी सी सीमा होती है।


C (प्रोग्रामिंग लैंग्वेज) में इसे किसके द्वारा निरूपित किया जाता है {{mono|short}}. यह कम से कम 16 बिट होना आवश्यक है, और अक्सर एक मानक पूर्णांक से छोटा होता है, लेकिन यह आवश्यक नहीं है।<ref name="c99" /><ref name="drdobbsinteger" />एक अनुरूप कार्यक्रम यह मान सकता है कि यह -(2<sup>15</sup>−1)<ref name="c-std-6.2.6.2p2">{{cite web |url=http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf |at=section 6.2.6.2, paragraph 2|title=ISO/IEC 9899:201x |access-date=2016-06-20 |publisher=open-std.org}}</ref> और 2<sup>15</sup>-1,<ref name="c-std-5.2.4.2.1">{{cite web |url=http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf |at=section 5.2.4.2.1|title=ISO/IEC 9899:201x |access-date=2016-06-20 |publisher=open-std.org}}</ref> लेकिन यह नहीं माना जा सकता है कि सीमा बड़ी नहीं है। [[जावा (प्रोग्रामिंग भाषा)]] में, a {{mono|short}} हमेशा 16-बिट पूर्णांक होता है। [[विंडोज एपीआई]] में, डेटाटाइप {{mono|SHORT}} सभी मशीनों पर 16-बिट हस्ताक्षरित पूर्णांक के रूप में परिभाषित किया गया है।<ref name="agnerfog" />
सी (प्रोग्रामिंग भाषा) में इसे {{mono|short}} से प्रदर्शित किया जाता है। यह कम से कम 16 बिट होना आवश्यक है, और अधिकांश एक मानक पूर्णांक से छोटा होता है किन्तु यह आवश्यक नहीं है।<ref name="c99" /><ref name="drdobbsinteger" /> एक अनुरूप प्रोग्राम यह मान सकता है कि यह -(2<sup>15</sup>−1)<ref name="c-std-6.2.6.2p2">{{cite web |url=http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf |at=section 6.2.6.2, paragraph 2|title=ISO/IEC 9899:201x |access-date=2016-06-20 |publisher=open-std.org}}</ref> और 2<sup>15</sup>-1 के बीच मूल्यों को सुरक्षित रूप से संग्रहीत कर सकता है,<ref name="c-std-5.2.4.2.1">{{cite web |url=http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf |at=section 5.2.4.2.1|title=ISO/IEC 9899:201x |access-date=2016-06-20 |publisher=open-std.org}}</ref> किन्तु यह नहीं माना जा सकता है कि सीमा बड़ी नहीं है। [[जावा (प्रोग्रामिंग भाषा)]] में, a {{mono|short}} हमेशा 16-बिट पूर्णांक होता है। [[विंडोज एपीआई]] में, डेटाप्रकार {{mono|SHORT}} सभी मशीनों पर 16-बिट हस्ताक्षरित पूर्णांक के रूप में परिभाषित किया गया है।<ref name="agnerfog" />


{| class="wikitable"
{| class="wikitable"
Line 226: Line 229:
! अधिकतम मान
! अधिकतम मान
|-
|-
| rowspan="2" | [[C (programming language)|C]] और [[C++]]
| rowspan="2" | [[C (programming language)|सी]] और [[C++|सी++]]
| {{mono|शार्ट}}
| {{mono|शार्ट}}
| हस्ताक्षर  
| हस्ताक्षर  
Line 239: Line 242:
| style="text-align:right;" | 65,535
| style="text-align:right;" | 65,535
|-
|-
| rowspan="2" | [[C Sharp (programming language)|C#]]
| rowspan="2" | [[C Sharp (programming language)|सी#]]
| {{mono|शार्ट}}
| {{mono|शार्ट}}
| हस्ताक्षर  
| हस्ताक्षर  
Line 252: Line 255:
| style="text-align:right;" | 65,535
| style="text-align:right;" | 65,535
|-
|-
| [[Java (programming language)|Java]]
| [[Java (programming language)|जावा]]
| {{mono|शार्ट}}
| {{mono|शार्ट}}
| हस्ताक्षर  
| हस्ताक्षर  
Line 259: Line 262:
| style="text-align:right;" | +32,767
| style="text-align:right;" | +32,767
|-
|-
| [[SQL]]
| [[SQL|एसक्यूएल]]
| {{mono|स्मालिंट}}
| {{mono|स्मालिंट}}
| हस्ताक्षर  
| हस्ताक्षर  
Line 271: Line 274:
एक लंबा पूर्णांक एक पूर्ण पूर्णांक का प्रतिनिधित्व कर सकता है जिसकी सीमा (कंप्यूटर विज्ञान) उसी मशीन पर एक मानक पूर्णांक से अधिक या उसके बराबर है।
एक लंबा पूर्णांक एक पूर्ण पूर्णांक का प्रतिनिधित्व कर सकता है जिसकी सीमा (कंप्यूटर विज्ञान) उसी मशीन पर एक मानक पूर्णांक से अधिक या उसके बराबर है।


C (प्रोग्रामिंग लैंग्वेज) में इसे किसके द्वारा निरूपित किया जाता है {{mono|long}}. यह कम से कम 32 बिट होना आवश्यक है, और एक मानक पूर्णांक से बड़ा हो भी सकता है और नहीं भी। एक अनुरूप कार्यक्रम यह मान सकता है कि यह -(2<sup>31</sup>−1)<ref name="c-std-6.2.6.2p2" />और 2<sup>31</sup>−1,<ref name="c-std-5.2.4.2.1" />लेकिन यह नहीं माना जा सकता है कि सीमा बड़ी नहीं है।
सी (प्रोग्रामिंग भाषा) में इसे {{mono|long}} द्वारा प्रदर्शित किया जाता है। यह कम से कम 32 बिट होना आवश्यक है, और एक मानक पूर्णांक से बड़ा हो भी सकता है और नहीं भी हो सकता हैं। एक अनुरूप प्रोग्राम यह मान सकता है कि यह -(2<sup>31</sup>−1)<ref name="c-std-6.2.6.2p2" /> और 2<sup>31</sup>−1 के बीच मूल्यों को सुरक्षित रूप से संग्रहीत कर सकता है,<ref name="c-std-5.2.4.2.1" /> किन्तु यह नहीं माना जा सकता है कि सीमा बड़ी नहीं है।


{| class="wikitable"
{| class="wikitable"
|+ Common long integer sizes
|+ सामान्य लंबे पूर्णांक आकार
|-
|-
! [[Programming language]]
! [[Programming language|प्रोग्रामिंग भाषा]]
! Approval Type
! स्वीकृति प्रकार
! [[Platform (computing)|Platform]]s
! [[Platform (computing)|मंच]]
! Data type name
! डेटा प्रकार का नाम
! Storage in [[bytes|बाइटs]]
! [[bytes|बाइट]] में संचय
! [[Signedness|हस्ताक्षरित]] range
! [[Signedness|हस्ताक्षरित]] सीमा
! [[Signedness|अहस्ताक्षरित]] range
! [[Signedness|अहस्ताक्षरित]] सीमा
|-
|-
| [[C (programming)|C]] ISO/ANSI C99
| [[C (programming)|सी]] आईएसओ/एएनएसआई सी99
| International Standard
| अंतर्राष्ट्रीय मानक
| [[Unix]],16/32-bit systems<ref name="agnerfog" /><br>[[Windows]],16/32/64-bit systems<ref name="agnerfog" />
| [[Unix|यूनिक्स]],16/32-बिट प्रणाली<ref name="agnerfog" /><br>[[Windows|विंडोज]],16/32/64-बिट प्रणाली<ref name="agnerfog" />
| {{mono|long}}{{efn|name=cross1|The terms {{mono|long}} and {{mono|int}} are equivalent<ref>{{cite web |url=http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf |title=ISO/IEC 9899:201x |access-date=2013-03-27 |publisher=open-std.org}}</ref>}}
| {{mono|लॉन्ग}}{{efn|name=cross1|The terms {{mono|long}} and {{mono|int}} are equivalent<ref>{{cite web |url=http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf |title=ISO/IEC 9899:201x |access-date=2013-03-27 |publisher=open-std.org}}</ref>}}
| 4<br>(minimum requirement 4)
| 4<br>(न्यूनतम आवश्यकता 4)
| −2,147,483,647 से +2,147,483,647
| −2,147,483,647 से +2,147,483,647
| 0 से 4,294,967,295<br>(minimum requirement)
| 0 से 4,294,967,295<br>(न्यूनतम आवश्यकता)
|-
|-
| [[C (programming)|C]] ISO/ANSI C99
| [[C (programming)|सी]] आईएसओ/एएनएसआई सी99
| International Standard
| अंतर्राष्ट्रीय मानक
| [[Unix]],<br>64-bit systems<ref name="agnerfog" /><ref name="drdobbsinteger" />
| [[Unix|यूनिक्स]],<br>64-बिट प्रणाली<ref name="agnerfog" /><ref name="drdobbsinteger" />
| {{mono|long}}{{efn|name=cross1}}
| {{mono|लॉन्ग}}{{efn|name=cross1}}
| 8<br>(minimum requirement 4)
| 8<br>(न्यूनतम आवश्यकता 4)
| −9,223,372,036,854,775,807 से +9,223,372,036,854,775,807
| −9,223,372,036,854,775,807 से +9,223,372,036,854,775,807
| 0 से 18,446,744,073,709,551,615
| 0 से 18,446,744,073,709,551,615
|-
|-
| [[C++]] ISO/ANSI
| [[C++|सी++]] आईएसओ / एएनएसआई
| International Standard
| अंतर्राष्ट्रीय मानक
| [[Unix]], [[Windows]],<br>16/32-bit system
| [[Unix|यूनिक्स]], [[Windows|विंडोज]],<br>16/32-बिट प्रणाली
| {{mono|long}}{{efn|name=cross1}}
| {{mono|लॉन्ग}}{{efn|name=cross1}}
| 4 <ref>{{cite web
| 4 <ref>{{cite web
  | title=Fundamental types in C++|url=http://cppreference.com/wiki/language/types|publisher=cppreference.com|access-date=5 December 2010}}</ref><br>(minimum requirement 4)
  | title=Fundamental types in C++|url=http://cppreference.com/wiki/language/types|publisher=cppreference.com|access-date=5 December 2010}}</ref><br>(न्यूनतम आवश्यकता 4)
| −2,147,483,648 से +2,147,483,647<br>
| −2,147,483,648 से +2,147,483,647<br>
| 0 से 4,294,967,295<br>(minimum requirement)
| 0 से 4,294,967,295<br>(न्यूनतम आवश्यकता)
|-
|-
| [[C++/CLI]]
| [[C++/CLI|सी ++/सीएलआई]]
| International Standard<br>[[ECMA-372]]
| अंतर्राष्ट्रीय मानक<br>[[ECMA-372|ईसीएमए-372]]
| [[Unix]], [[Windows]],<br>16/32-bit systems
| [[Unix|यूनिक्स]], [[Windows|विंडोज]],<br>16/32-बिट प्रणाली
| {{mono|long}}{{efn|name=cross1}}
| {{mono|लॉन्ग}}{{efn|name=cross1}}
| 4 <ref>{{cite web| url=http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-372.pdf |title=Chapter 8.6.2 on page 12|publisher=ecma-international.org}}</ref><br>(minimum requirement 4)
| 4 <ref>{{cite web| url=http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-372.pdf |title=Chapter 8.6.2 on page 12|publisher=ecma-international.org}}</ref><br>(न्यूनतम आवश्यकता 4)
| −2,147,483,648 से +2,147,483,647<br>
| −2,147,483,648 से +2,147,483,647<br>
| 0 से 4,294,967,295<br>(minimum requirement)
| 0 से 4,294,967,295<br>(न्यूनतम आवश्यकता)
|-
|-
| [[Visual Basic (classic)|VB]]
| [[Visual Basic (classic)|वीबी]]
| Company Standard
| कंपनी मानक
| [[Microsoft Windows|Windows]]
| [[Microsoft Windows|विंडोज]]
| {{mono|Long}}
| {{mono|लॉन्ग}}
| 4 <ref>VB 6.0 help file</ref>
| 4 <ref>VB 6.0 help file</ref>
| −2,147,483,648 से +2,147,483,647
| −2,147,483,648 से +2,147,483,647
| {{n/a}}
| {{n/a}}
|-
|-
| [[Visual Basic for Applications|VBA]]
| [[Visual Basic for Applications|वीबीए]]
| Company Standard
| कंपनी मानक
| [[Microsoft Windows|Windows]], [[Mac OS X]]
| [[Microsoft Windows|विंडोज]], [[Mac OS X|मैक ओएसएक्स]]
| {{mono|Long}}
| {{mono|लॉन्ग}}
| 4 <ref>{{cite web |url=http://msdn2.microsoft.com/en-us/library/aa164754(office.10).aspx |title=The Integer, Long, and Byte Data Types (VBA) |access-date=2006-12-19 |publisher=microsoft.com}}</ref>
| 4 <ref>{{cite web |url=http://msdn2.microsoft.com/en-us/library/aa164754(office.10).aspx |title=The Integer, Long, and Byte Data Types (VBA) |access-date=2006-12-19 |publisher=microsoft.com}}</ref>
| −2,147,483,648 से +2,147,483,647
| −2,147,483,648 से +2,147,483,647
| {{n/a}}
| {{n/a}}
|-
|-
| [[Microsoft SQL Server|SQL Server]]
| [[Microsoft SQL Server|एसक्यूएल सर्वर]]
| Company Standard
| कंपनी मानक
| [[Microsoft Windows|Windows]]
| [[Microsoft Windows|विंडोज]]
| {{mono|BigInt}}
| {{mono|बिगइंट}}
| 8
| 8
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| 0 से 18,446,744,073,709,551,615
| 0 से 18,446,744,073,709,551,615
|-
|-
| [[C Sharp (programming language)|C#]]/ [[Visual Basic .NET|VB.NET]]
| [[C Sharp (programming language)|सी#]]/ [[Visual Basic .NET|वीबी डॉट नेट]]
| ECMA International Standard
| ईसीएमए अंतर्राष्ट्रीय मानक
| [[Microsoft .NET]]
| [[Microsoft .NET|माइक्रोसॉफ्ट डॉट नेट]]
| {{mono|long}} or {{mono|Int64}}
| {{mono|लॉन्ग}} या {{mono|इंट64}}
| 8
| 8
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| 0 से 18,446,744,073,709,551,615
| 0 से 18,446,744,073,709,551,615
|-
|-
| [[Java (programming language)|Java]]
| [[Java (programming language)|जावा]]
| International/Company Standard
| अंतर्राष्ट्रीय/कंपनी मानक
| [[Java platform]]
| [[Java platform|जावा मंच]]
| {{mono|long}}
| {{mono|लॉन्ग}}
| 8
| 8
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| {{n/a}}
| {{n/a}}
|-
|-
| [[Pascal (programming language)|Pascal]]
| [[Pascal (programming language)|पास्कल]]
| ?
| ?
| [[Microsoft Windows|Windows]], [[UNIX]]
| [[Microsoft Windows|विंडोज]], [[UNIX|यूनिक्स]]
| {{mono|int64}}
| {{mono|इंट64}}
| 8
| 8
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| 0 से 18,446,744,073,709,551,615 (Qword type)
| 0 से 18,446,744,073,709,551,615 (क्यूवर्ड प्रकार)
|}
|}




=== लंबा लंबा ===
=== लंबा लंबा ===
{{redirect-distinguish|long long|long (disambiguation){{!}}long|Long, Long, Long}}
{{redirect-distinguish|लंबा लंबा|लंबा (बहुविकल्पी){{!}}लंबा|लंबा, लंबा, लंबा}}
C (प्रोग्रामिंग भाषा) के [[C99]] संस्करण और [[C++]] के [[C++11]] संस्करण में, a <CODE>long long</CODE> प्रकार समर्थित है जिसकी मानक की न्यूनतम क्षमता दोगुनी है <CODE>लंबा </CODE>। यह प्रकार उन कंपाइलरों द्वारा समर्थित नहीं है जिनके लिए सी कोड को पिछले सी ++ मानक, सी ++ 03 के अनुरूप होना आवश्यक है, क्योंकि {{mono|long long}} प्रकार सी ++ 03 में मौजूद नहीं था। एएनएसआई/आईएसओ अनुपालक संकलक के लिए, निर्दिष्ट श्रेणियों के लिए न्यूनतम आवश्यकताएं, अर्थात, −(2<sup>63</sup>−1)<ref name="c-std-6.2.6.2p2" />2<sup>63</sup>-1 हस्ताक्षरित के लिए और 0 से 2<sup>64</sup>−1 अहस्ताक्षरित के लिए,<ref name="c-std-5.2.4.2.1" />पूरा होना चाहिए; हालाँकि, इस सीमा का विस्तार करने की अनुमति है।<ref>{{cite web| url=http://www.ericgiguere.com/articles/ansi-c-summary.html|title=The ANSI Standard: A Summary for the C Programmer|first=Eric|last=Giguere|date=December 18, 1987|access-date=2010-09-04}}</ref><ref>{{cite web|url=http://flash-gordon.me.uk/ansi.c.txt|title=American National Standard Programming Language C specifies the syntax and semantics of programs written in the C programming language.|access-date=2010-09-04|url-status=dead|archive-url=https://web.archive.org/web/20100822072551/http://flash-gordon.me.uk/ansi.c.txt|archive-date=2010-08-22}}</ref> प्लेटफ़ॉर्म के बीच कोड और डेटा का आदान-प्रदान करते समय या सीधे हार्डवेयर एक्सेस करते समय यह एक समस्या हो सकती है। इस प्रकार, प्लेटफ़ॉर्म स्वतंत्र सटीक चौड़ाई प्रकार प्रदान करने वाले हेडर के कई सेट हैं। सी [[मानक पुस्तकालय]] प्रदान करता है stdint.h; इसे C99 और C++11 में पेश किया गया था।
सी (प्रोग्रामिंग भाषा) के [[C99|सी99]] संस्करण और [[C++|सी++]] के [[C++11|सी++11]] संस्करण में, a <CODE>long long</CODE> प्रकार समर्थित है जिसकी मानक की न्यूनतम क्षमता दोगुनी है <CODE>लंबा </CODE>। यह प्रकार उन कंपाइलरों द्वारा समर्थित नहीं है जिनके लिए सी कोड को पिछले सी ++ मानक, सी ++ 03 के अनुरूप होना आवश्यक है, क्योंकि {{mono|long long}} प्रकार सी ++ 03 में उपस्थित नहीं था। एएनएसआई/आईएसओ अनुपालक संकलक के लिए, निर्दिष्ट श्रेणियों के लिए न्यूनतम आवश्यकताएं, अर्थात, −(2<sup>63</sup>−1)<ref name="c-std-6.2.6.2p2" />2<sup>63</sup>-1 हस्ताक्षरित के लिए और 0 से 2<sup>64</sup>−1 अहस्ताक्षरित के लिए,<ref name="c-std-5.2.4.2.1" />पूरा होना चाहिए; चूँकि, इस सीमा का विस्तार करने की अनुमति है।<ref>{{cite web| url=http://www.ericgiguere.com/articles/ansi-c-summary.html|title=The ANSI Standard: A Summary for the C Programmer|first=Eric|last=Giguere|date=December 18, 1987|access-date=2010-09-04}}</ref><ref>{{cite web|url=http://flash-gordon.me.uk/ansi.c.txt|title=American National Standard Programming Language C specifies the syntax and semantics of programs written in the C programming language.|access-date=2010-09-04|url-status=dead|archive-url=https://web.archive.org/web/20100822072551/http://flash-gordon.me.uk/ansi.c.txt|archive-date=2010-08-22}}</ref> प्लेटफ़ॉर्म के बीच कोड और डेटा का आदान-प्रदान करते समय या सीधे हार्डवेयर एक्सेस करते समय यह एक समस्या हो सकती है। इस प्रकार, प्लेटफ़ॉर्म स्वतंत्र त्रुटिहीन चौड़ाई प्रकार प्रदान करने वाले हेडर के कई समुच्चय हैं। सी [[मानक पुस्तकालय]] प्रदान करता है stdint.h; इसे सी99 और सी++11 में प्रस्तुत किया गया था।


== सिंटेक्स ==
== वाक्य-विन्यास ==


पूर्णांकों के लिए शाब्दिक को नियमित [[अरबी अंक]]ों के रूप में लिखा जा सकता है, जिसमें अंकों का एक क्रम होता है और मूल्य से पहले एक [[हाइफन-ऋण]] द्वारा इंगित निषेध होता है। हालाँकि, अधिकांश प्रोग्रामिंग भाषाएँ अंक समूहीकरण के लिए अल्पविराम या रिक्त स्थान के उपयोग की अनुमति नहीं देती हैं। पूर्णांक शाब्दिक के उदाहरण हैं:
पूर्णांकों के लिए शाब्दिक को नियमित [[अरबी अंक|अरबी अंकों]] के रूप में लिखा जा सकता है, जिसमें अंकों का एक क्रम होता है और मान से पहले एक [[हाइफन-ऋण]] द्वारा प्रदर्शित निषेध होता है। चूँकि, अधिकांश प्रोग्रामिंग भाषाएँ अंक समूहीकरण के लिए अल्पविराम या रिक्त स्थान के उपयोग की अनुमति नहीं देती हैं। पूर्णांक शाब्दिक के उदाहरण हैं:


* <code>42</code>
* <code>42</code>
* <code>10000</code>
* <code>10000</code>
* <code>-233000</code> <!-- do not use the real minus sign, as that isn't part of a literal -->
* <code>-233000</code>
कई प्रोग्रामिंग भाषाओं में पूर्णांक शाब्दिक लिखने के लिए कई वैकल्पिक विधियाँ हैं:
कई प्रोग्रामिंग भाषाओं में पूर्णांक शाब्दिक लिखने के लिए कई वैकल्पिक विधियाँ हैं:


* अधिकांश प्रोग्रामिंग लैंग्वेज, विशेष रूप से सी (प्रोग्रामिंग लैंग्वेज) से प्रभावित, एक पूर्णांक शाब्दिक के साथ उपसर्ग करते हैं <code>0X</code> या <code>0x</code> एक हेक्साडेसिमल मान का प्रतिनिधित्व करने के लिए, उदा। <code>0xDEADBEEF</code>. अन्य भाषाएँ भिन्न अंकन का उपयोग कर सकती हैं, उदा. कुछ असेंबली भाषाएं संलग्न होती हैं <code>H</code> या <code>h</code> एक हेक्साडेसिमल मान के अंत तक।
* अधिकांश प्रोग्रामिंग भाषा, विशेष रूप से सी (प्रोग्रामिंग भाषा) से प्रभावित, हेक्साडेसिमल मान जैसे <code>0xDEADBEEF</code> का प्रतिनिधित्व करने के लिए <code>0X</code> या <code>0x</code> के साथ एक पूर्णांक शाब्दिक उपसर्ग करती हैं, अन्य भाषाएँ भिन्न अंकन का उपयोग कर सकती हैं, उदा. असेम्बली भाषाएँ हेक्साडेसिमल मान के अंत में <code>H</code> या <code>h</code> जोड़ देती हैं।
* पर्ल, [[रूबी (प्रोग्रामिंग भाषा)]], जावा (प्रोग्रामिंग लैंग्वेज), [[जूलिया (प्रोग्रामिंग भाषा)]], [[डी (प्रोग्रामिंग भाषा)]], [[जाओ (प्रोग्रामिंग भाषा)]], [[जंग (प्रोग्रामिंग भाषा)]] और पायथन (प्रोग्रामिंग लैंग्वेज) (संस्करण 3.6 से शुरू) स्पष्टता के लिए एम्बेडेड [[बल देना]] की अनुमति दें, उदा। <code>10_000_000</code>, और फिक्स्ड-फॉर्म [[फोरट्रान]] पूर्णांक अक्षर में एम्बेडेड रिक्त स्थान को अनदेखा करता है। C ([[C2x]] से शुरू) और C++ इस उद्देश्य के लिए सिंगल कोट्स का उपयोग करते हैं।
* पर्ल, [[रूबी (प्रोग्रामिंग भाषा)]], जावा (प्रोग्रामिंग भाषा), [[जूलिया (प्रोग्रामिंग भाषा)]], [[डी (प्रोग्रामिंग भाषा)]], [[जाओ (प्रोग्रामिंग भाषा)|गो (प्रोग्रामिंग भाषा)]], [[जंग (प्रोग्रामिंग भाषा)|रस्ट (प्रोग्रामिंग भाषा)]] और पायथन (प्रोग्रामिंग भाषा) (संस्करण 3.6 से शुरू) स्पष्टता के लिए एम्बेडेड [[बल देना]] की अनुमति दें, उदा। <code>10_000_000</code>, और फिक्स्ड-फॉर्म [[फोरट्रान]] पूर्णांक अक्षर में एम्बेडेड रिक्त स्थान को अनदेखा करता है। सी ([[C2x|सी2x]] से शुरू) और सी++ इस उद्देश्य के लिए एकल कोट्स का उपयोग करते हैं।
* C (प्रोग्रामिंग लैंग्वेज) और C++ में, एक अग्रणी शून्य एक [[अष्टभुजाकार]] मान को इंगित करता है, उदा। <code>0755</code>. यह मुख्य रूप से [[मोड (यूनिक्स)]] के साथ प्रयोग करने के लिए अभिप्रेत था; हालाँकि, इसकी आलोचना की गई है क्योंकि सामान्य पूर्णांक भी शून्य के साथ नेतृत्व कर सकते हैं।<ref>ECMAScript 6th Edition draft: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-numeric-literals {{webarchive|url=https://web.archive.org/web/20131216202526/https://people.mozilla.org/~jorendorff/es6-draft.html |date=2013-12-16 }}</ref> जैसे, पायथन (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग लैंग्वेज), हास्केल (प्रोग्रामिंग लैंग्वेज), और [[OCaml]] प्रीफिक्स ऑक्टल वैल्यू के साथ <code>0O</code> या <code>0o</code>, हेक्साडेसिमल मानों द्वारा उपयोग  गए लेआउट के बाद।
* सी (प्रोग्रामिंग भाषा) और सी++ में, एक अग्रणी शून्य एक [[अष्टभुजाकार]] मान को प्रदर्शित करता है, उदा। <code>0755</code>. यह मुख्य रूप से [[मोड (यूनिक्स)]] के साथ प्रयोग करने के लिए अभिप्रेत था; चूँकि, इसकी आलोचना की गई है क्योंकि सामान्य पूर्णांक भी शून्य के साथ नेतृत्व कर सकते हैं।<ref>ECMAScript 6th Edition draft: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-numeric-literals {{webarchive|url=https://web.archive.org/web/20131216202526/https://people.mozilla.org/~jorendorff/es6-draft.html |date=2013-12-16 }}</ref> जैसे, हेक्साडेसिमल मानों द्वारा उपयोग किए गए लेआउट के बाद, पायथन, रूबी, हास्केल, और [[OCaml|ओकाम्ल]] <code>0O</code> या <code>0o</code> के साथ ऑक्टल मान उपसर्ग करते हैं।
* जावा (प्रोग्रामिंग लैंग्वेज), सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी #, [[स्काला (प्रोग्रामिंग भाषा)]], पायथन (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग लैंग्वेज), OCaml, C (C23 से शुरू) और C ++ सहित कई भाषाएँ प्रतिनिधित्व कर सकती हैं किसी संख्या के साथ प्रीफ़िक्स लगाकर बाइनरी मान <code>0B</code> या <code>0b</code>.
* जावा (प्रोग्रामिंग भाषा), सी शार्प (प्रोग्रामिंग भाषा), [[स्काला (प्रोग्रामिंग भाषा)]], पायथन (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा), ओकाम्ल, सी (सी23 से शुरू) और सी ++ सहित कई भाषाएँ <code>0B</code> या <code>0b</code> के साथ किसी संख्या को उपसर्ग करके बाइनरी मानों का प्रतिनिधित्व कर सकती हैं।


== यह भी देखें ==
== यह भी देखें ==
* [[मनमाना-सटीक अंकगणित|स्वैच्छिक-सटीक अंकगणित]]
* [[मनमाना-सटीक अंकगणित|स्वैच्छिक-त्रुटिहीन अंकगणित]]
* बाइनरी-कोडेड दशमलव (बीसीडी)
* बाइनरी-कोडेड दशमलव (बीसीडी)
* [[सी डेटा प्रकार]]
* [[सी डेटा प्रकार]]
Line 412: Line 415:
}}
}}


{{Data types}}
{{DEFAULTSORT:Integer (Computer Science)}}
 
{{DEFAULTSORT:Integer (Computer Science)}}[[Category: डेटा के प्रकार]] [[Category: कंप्यूटर अंकगणित]] [[Category: आदिम प्रकार]]
 
 


[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page|Integer (Computer Science)]]
[[Category:Created On 17/02/2023]]
[[Category:Collapse templates|Integer (Computer Science)]]
[[Category:Created On 17/02/2023|Integer (Computer Science)]]
[[Category:Lua-based templates|Integer (Computer Science)]]
[[Category:Machine Translated Page|Integer (Computer Science)]]
[[Category:Missing redirects|Integer (Computer Science)]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Integer (Computer Science)]]
[[Category:Pages with script errors|Integer (Computer Science)]]
[[Category:Short description with empty Wikidata description|Integer (Computer Science)]]
[[Category:Sidebars with styles needing conversion|Integer (Computer Science)]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|Integer (Computer Science)]]
[[Category:Templates generating microformats|Integer (Computer Science)]]
[[Category:Templates that add a tracking category|Integer (Computer Science)]]
[[Category:Templates that are not mobile friendly|Integer (Computer Science)]]
[[Category:Templates that generate short descriptions|Integer (Computer Science)]]
[[Category:Templates using TemplateData|Integer (Computer Science)]]
[[Category:Webarchive template wayback links]]
[[Category:Wikipedia metatemplates|Integer (Computer Science)]]
[[Category:आदिम प्रकार|Integer (Computer Science)]]
[[Category:कंप्यूटर अंकगणित|Integer (Computer Science)]]
[[Category:डेटा के प्रकार|Integer (Computer Science)]]

Latest revision as of 16:51, 2 November 2023

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

मान और प्रतिनिधित्व

अभिन्न प्रकार वाले किसी वस्तु का मान वह गणितीय पूर्णांक है जिससे वह मेल खाता है। अभिन्न प्रकार अहस्ताक्षरित (केवल गैर-ऋणात्मक पूर्णांकों का प्रतिनिधित्व करने में सक्षम) या हस्ताक्षरित (ऋणात्मक पूर्णांकों का प्रतिनिधित्व करने में सक्षम) हो सकते हैं।[1]

एक पूर्णांक मान सामान्यतः एक प्रोग्राम के स्रोत कोड में अंकों के अनुक्रम के रूप में वैकल्पिक रूप से + या - के साथ उपसर्ग के रूप में निर्दिष्ट किया जाता है। कुछ प्रोग्रामिंग भाषा अन्य नोटेशन की अनुमति देती हैं, जैसे हेक्साडेसिमल (बेस 16) या ऑक्टल (बेस 8)। कुछ प्रोग्रामिंग भाषा अंक समूह विभाजकों को भी अनुमति देती हैं।[2]

इस निर्दिष्ट सिद्धांत का आंतरिक प्रतिनिधित्व कंप्यूटर की मेमोरी में मान को संग्रहीत करने की विधि है। गणितीय पूर्णांकों के विपरीत, कंप्यूटर में एक विशिष्ट निर्दिष्ट सिद्धांत का कुछ न्यूनतम और अधिकतम संभव मान होता है।

द्विआधारी अंक प्रणाली का उपयोग करते हुए, एक सकारात्मक पूर्णांक का सबसे सामान्य प्रतिनिधित्व बिट्स की एक स्ट्रिंग है। बिट्स को संग्रहीत करने वाली मेमोरी बाइट का क्रम भिन्न होता है; एंडियननेस देखें। एक अभिन्न प्रकार की चौड़ाई या शुद्धता इसके प्रतिनिधित्व में बिट्स की संख्या है। एन बिट्स के साथ एक अभिन्न प्रकार 2n संख्याएं को सांकेतिक शब्दों में बदल सकता है; उदाहरण के लिए एक अहस्ताक्षरित प्रकार सामान्यतः गैर-ऋणात्मक मान 0 से 2n−1 का प्रतिनिधित्व करता है। बिट पैटर्न के पूर्णांक मानों के अन्य एन्कोडिंग कभी-कभी उदाहरण के लिए बाइनरी-कोडित दशमलव या ग्रे कोड, या मुद्रित वर्ण कोड जैसे एएससीआईआई के लिए उपयोग किए जाते हैं।

बाइनरी कंप्यूटिंग प्रणाली में हस्ताक्षरित संख्याओं का प्रतिनिधित्व करने के चार प्रसिद्ध विधियाँ हैं। सबसे सामान्य दो का पूरक है, जो एन बिट्स के साथ एक हस्ताक्षरित अभिन्न प्रकार को -2(n−1) से 2(n−1)−1 संख्याओं का प्रतिनिधित्व करने की अनुमति देता हैं। दो का पूरक अंकगणित सुविधाजनक है क्योंकि एक पूर्ण आक्षेप है | निरूपण और मानों (विशेष रूप से, कोई अलग +0 और -0 नहीं) के बीच एक-से-एक सही पत्राचार नहीं है, और क्योंकि जोड़, घटाव और गुणा को हस्ताक्षरित और अहस्ताक्षरित प्रकारों के बीच अंतर करने की आवश्यकता नहीं है। अन्य संभावनाओं में ऑफसमुच्चय बाइनरी, साइन-परिमाण और लोगों का पूरक शामिल हैं।

कुछ कंप्यूटर भाषाएँ पूर्णांक आकार को मशीन-स्वतंत्र विधियों से परिभाषित करती हैं; अंतर्निहित प्रोसेसर शब्द आकार के आधार पर दूसरों की अलग-अलग परिभाषाएँ हैं। सभी भाषा कार्यान्वयन सभी पूर्णांक आकारों के चर को परिभाषित नहीं करते हैं, और परिभाषित आकार किसी विशेष कार्यान्वयन में भिन्न भी नहीं हो सकते हैं। एक प्रोग्रामिंग भाषा में एक पूर्णांक एक अलग भाषा में या एक अलग प्रोसेसर पर एक अलग आकार का हो सकता है।

कुछ दशमलव कंप्यूटर पूर्णांकों के दशमलव निरूपण का उपयोग करते हैं, जो बाइनरी-कोडेड दशमलव (बीसीडी) या अन्य प्रारूप में संग्रहीत होते हैं। इन मानों को सामान्यतः एक संकेत के लिए अतिरिक्त बिट्स के साथ सामान्यतौर पर 4 बिट प्रति दशमलव अंक (कभी-कभी निबल कहा जाता है) के डेटा आकार की आवश्यकता होती है। कई आधुनिक सीपीयू एक विस्तारित डेटाप्रकार के रूप में दशमलव पूर्णांकों के लिए सीमित समर्थन प्रदान करते हैं, ऐसे मानों को बाइनरी मानों में और से परिवर्तित करने के लिए निर्देश प्रदान करते हैं। आर्किटेक्चर के आधार पर, दशमलव पूर्णांकों के निश्चित आकार हो सकते हैं (उदाहरण के लिए, 7 दशमलव अंक और 32-बिट शब्द में फिट होने वाला चिह्न), या चर-लंबाई (कुछ अधिकतम अंकों के आकार तक) हो सकता है, सामान्यतः प्रति बाइट (ओक्टेट) में दो अंक होते हैं।

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

बिट्स नाम सीमा (हस्ताक्षरित के लिए दो पूरक मानते हुए) दशमलव अंक उपयोग कार्यान्वयन
सी/सी++ सी# पास्कल और

डेल्फी

जावा एसक्यूएल[lower-alpha 1] फोरट्रान डी रस्ट
4 निबल, अर्धवृद्धि हस्ताक्षरित: −8 से 7 तक, −(23) से 23 −1 तक 0.9 बाइनरी-कोडित दशमलव, एकल दशमलव अंक प्रतिनिधित्व
अहस्ताक्षरित: 0 से 15 तक, जो 24 −1 के बराबर है 1.2
8 बाइट, ओकटेट, आई8, यू8 हस्ताक्षरित: −128 से 127 तक, −(27) से 27 −1 तक 2.11 एएससीआईआई वर्ण, कोड इकाइयां यूटीएफ-8 वर्ण एन्कोडिंग में इंट8_टी, हस्ताक्षरित चार[lower-alpha 2] एसबाइट शॉर्टिंट बाइट टिनींट पूर्णांक (1) बाइट आई8
अहस्ताक्षरित: 0 से 255 तक, जो 28 −1 के बराबर है 2.41 यूंट8_टी, अहस्ताक्षरित चार[lower-alpha 2] बाइट बाइट अहस्ताक्षरित टिनींट यूबाइट यू8
16 हाफवर्ड, वर्ड, शॉर्ट, आई16, यू16 हस्ताक्षरित: −32,768 से 32,767 तक, −(215) से 215 −1 तक 4.52 यूसीएस-2 वर्ण, यूटीएफ-16 वर्ण एन्कोडिंग में कोड इकाइयाँ इंट16_टी, शार्ट[lower-alpha 2], इंट[lower-alpha 2] शार्ट स्मॉलिंट शार्ट स्मॉलिंट पूर्णांक (2) शार्ट आई16
अहस्ताक्षरित: 0 से 65,535 से, जो 216 − 1 के बराबर है 4.82 यूंट16_टी, अहस्ताक्षरित[lower-alpha 2], अहस्ताक्षरित इंट[lower-alpha 2] यूशॉर्ट वर्ड चार[lower-alpha 3] अहस्ताक्षरित स्मालिंट यूशॉर्ट यू16
32 शब्द, लंबा, डबलवर्ड, लॉन्गवर्ड, इंट, आई32, यू32 हस्ताक्षरित: −2,147,483,648 से 2,147,483,647 तक, −(231) से 231 −1 9.33 यूटीएफ-32 वर्ण

अल्फा के साथ असली रंग, 32-बिट कंप्यूटिंग में फोरसीसी, पॉइंटर्स

int32_t, int[lower-alpha 2], long[lower-alpha 2] इंट लोंगिंत; पूर्णांक[lower-alpha 4] इंट इंट पूर्णांक(4) इंट आई32
अहस्ताक्षरित: 0 से 4,294,967,295 से, जो 232 − 1 के बराबर है 9.63 यूंट32_टी, अहस्ताक्षरित[lower-alpha 2], अहस्ताक्षरित इंट[lower-alpha 2], अहस्ताक्षरित लंबा[lower-alpha 2] यूंट लॉन्गवर्ड; डीवर्ड; कार्डिनल[lower-alpha 4] अहस्ताक्षरित इंट यूंट यू32
64 वर्ड, डबलवर्ड, लॉन्गवर्ड, लॉन्ग लॉन्ग, क्वाड, क्वाडवर्ड, क्यूवर्ड, इंट64, आई64, यू64 हस्ताक्षरित: −9,223,372,036,854,775,808 से 9,223,372,036,854,775,807 तक, −(263) से 263 −1 तक 18.96 समय (यूनिक्स युग से मिलीसेकंड), 64-बिट कंप्यूटिंग में संकेत इंट64_टी, लॉन्ग[lower-alpha 2], लॉन्ग लॉन्ग[lower-alpha 2] लॉन्ग इंट64 लॉन्ग बिगिंट पूर्णांक (8) लॉन्ग आई64
अहस्ताक्षरित: 0 से 18,446,744,073,709,551,615 से, जो 264 − 1 के बराबर है 19.27 यूंट64_टी, अहस्ताक्षरित लंबे समय तक[lower-alpha 2] यूलॉन्ग यूंट64; क्यूवर्ड अहस्ताक्षरित बिगिंट यूलॉन्ग यू64
128 ऑक्टावर्ड, डबल क्वाडवर्ड, आई128, यू128 हस्ताक्षरित: −170,141,183,460,469,231,731,687,303,715,884,105,728 से 170,141,183,460,469,231,731,687,303,715,884,105,727, −(2127) से 2127 −1 तक 38.23 जटिल वैज्ञानिक गणना,

आईपी6 पते, गाइड

सी: केवल गैर-मानक कंपाइलर-विशिष्ट विस्तार के रूप में उपलब्ध है पूर्णांक(16) सेंट[lower-alpha 5] आई128
अहस्ताक्षरित: 0 से 340,282,366,920,938,463,463,374,607,431,768,211,455 से, जो 2128 − 1 के बराबर है 38.53 यूसेंट[lower-alpha 5] यू128
n एन-बिट पूर्णांक

(सामान्य स्थिति)

हस्ताक्षरित: −(2n−1) से (2n−1 −1) (n−1) log102 पता: श्रेणी -2**(n-1)..2**(n-1)-1
अहस्ताक्षरित: 0 से (2n − 1) n log102 पता:  श्रेणी 0..2**n-1,  मॉड 2**n; मानक पुस्तकालय' या तृतीय-पक्ष स्वैच्छिक अंकगणित पुस्तकालय 'बिगडिसीमल या दशमलव कक्षाएं कई भाषाओं में जैसे कि पायथन, सी ++, आदि।

विभिन्न सेंट्रल प्रोसेसिंग यूनिट विभिन्न अभिन्न डेटा प्रकारों का समर्थन करते हैं। सामान्यतः, हार्डवेयर हस्ताक्षरित और अहस्ताक्षरित दोनों प्रकारों किन्तु चौड़ाई का केवल एक छोटा, निश्चित समुच्चय का समर्थन करता है।

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

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

एक बूलियन डेटाप्रकार या ध्वज (कंप्यूटिंग) प्रकार एक प्रकार है जो केवल दो मानों 0 और 1 का प्रतिनिधित्व कर सकता है: सामान्यतः क्रमशः गलत और सत्य के साथ पहचाना जाता है। इस प्रकार को एक बिट का उपयोग करके स्मृति में संग्रहीत किया जा सकता है, किन्तु अधिकांश पता लगाने और पहुंच की गति की सुविधा के लिए इसे पूर्ण बाइट दिया जाता है।

एक चार-बिट मात्रा को निबल (खाते समय, काटने से छोटा होना) या नीबल (शब्द बाइट के रूप में एक वाक्य होना) के रूप में जाना जाता है। एक निबल हेक्साडेसिमल में एक अंक से मेल खाता है और बाइनरी-कोडेड दशमलव में एक अंक या साइन कोड रखता है।

बाइट्स और ऑक्टेट

बाइट शब्द का शुरू में अर्थ 'स्मृति की सबसे छोटी पता योग्य इकाई' था। अतीत में, 5-, 6-, 7-, 8-, और 9-बिट बाइट सभी का उपयोग किया गया है। ऐसे कंप्यूटर भी हैं जो अलग-अलग बिट्स ('बिट-पता मशीन') को संबोधित कर सकते हैं, या जो केवल 16- या 32-बिट मात्राओं ('वर्ड-पता मशीन') को संबोधित कर सकते हैं। शब्द बाइट सामान्यतः बिट- और वर्ड-पता मशीनों के संबंध में बिल्कुल भी उपयोग नहीं किया जाता था।

ऑक्टेट शब्द हमेशा 8-बिट मात्रा को संदर्भित करता है। यह अधिकांशतः कंप्यूटर नेटवर्क के क्षेत्र में उपयोग किया जाता है, जहां विभिन्न बाइट चौड़ाई वाले कंप्यूटरों को संचार करना पड़ सकता है।

आधुनिक उपयोग में बाइट का अर्थ लगभग हमेशा आठ बिट्स होता है, क्योंकि अन्य सभी आकार अनुपयोगी हो गए हैं; इस प्रकार बाइट ऑक्टेट का पर्याय बन गया है।

शब्द

'शब्द' शब्द का प्रयोग बिट्स के एक छोटे समूह के लिए किया जाता है जिसे एक विशेष कंप्यूटर आर्किटेक्चर के प्रोसेसर द्वारा एक साथ नियंत्रित किया जाता है। एक शब्द का आकार इस प्रकार सीपीयू-विशिष्ट है। 6-, 8-, 12-, 16-, 18-, 24-, 32-, 36-, 39-, 40-, 48-, 60-, और 64-बिट सहित कई अलग-अलग शब्द आकारों का उपयोग किया गया है। चूंकि यह वास्तुकला है, एक शब्द का आकार सामान्यतः बाद में संगत सीपीयू की विशेषताओं के अतिरिक्त परिवार में पहले सीपीयू द्वारा निर्धारित किया जाता है। शब्द से प्राप्त शब्दों के अर्थ, जैसे लॉन्गवर्ड, डबलवर्ड, क्वाडवर्ड और हाफवर्ड, भी सीपीयू और ओएस के साथ भिन्न होते हैं।[6]

व्यावहारिक रूप से सभी नए डेस्कटॉप प्रोसेसर 64-बिट शब्दों का उपयोग करने में सक्षम हैं, चूंकि 8- और 16-बिट शब्द आकार वाले अंतः स्थापित प्रणाली अभी भी सामान्य हैं। कंप्यूटर के प्रारंभिक दिनों में 36-बिट शब्द की लंबाई सामान्य थी।

सॉफ़्टवेयर की गैर-पोर्टेबिलिटी का एक महत्वपूर्ण कारण यह गलत धारणा है कि सभी कंप्यूटरों में एक ही शब्द का आकार होता है, जैसा कि प्रोग्रामर द्वारा उपयोग किए जाने वाले कंप्यूटर में होता है। उदाहरण के लिए, यदि सी भाषा का उपयोग करने वाला प्रोग्रामर गलत तरीके से int चर घोषित करता है जिसका उपयोग 215−1 से अधिक मानों को संग्रहीत करने के लिए किया जाएगा, तो प्रोग्राम 16-बिट पूर्णांक वाले कंप्यूटरों पर विफल हो जाएगा। उस वेरिएबल को लंबा घोषित किया जाना चाहिए था, जिसमें किसी भी कंप्यूटर पर कम से कम 32 बिट्स हों। प्रोग्रामर गलत तरीके से यह भी मान सकते हैं कि एक सूचक को सूचना के हानि के बिना एक पूर्णांक में परिवर्तित किया जा सकता है, जो 32-बिट कंप्यूटरों पर काम कर सकता है, किन्तु 64-बिट कंप्यूटरों पर 64-बिट पॉइंटर्स और 32-बिट पूर्णांकों के साथ विफल हो सकता है। यह समस्या सी99 द्वाराstdint.h में intptr_t के रूप में समाधान की गई है।

लघु पूर्णांक

एक छोटा पूर्णांक एक पूर्ण संख्या का प्रतिनिधित्व कर सकता है जो कम संचय ले सकता है, चूँकि एक ही मशीन पर एक मानक पूर्णांक की तुलना में एक छोटी सी सीमा होती है।

सी (प्रोग्रामिंग भाषा) में इसे short से प्रदर्शित किया जाता है। यह कम से कम 16 बिट होना आवश्यक है, और अधिकांश एक मानक पूर्णांक से छोटा होता है किन्तु यह आवश्यक नहीं है।[7][8] एक अनुरूप प्रोग्राम यह मान सकता है कि यह -(215−1)[9] और 215-1 के बीच मूल्यों को सुरक्षित रूप से संग्रहीत कर सकता है,[10] किन्तु यह नहीं माना जा सकता है कि सीमा बड़ी नहीं है। जावा (प्रोग्रामिंग भाषा) में, a short हमेशा 16-बिट पूर्णांक होता है। विंडोज एपीआई में, डेटाप्रकार SHORT सभी मशीनों पर 16-बिट हस्ताक्षरित पूर्णांक के रूप में परिभाषित किया गया है।[6]

सामान्य लघु पूर्णांक आकार
प्रोग्रामिंग भाषा डेटा प्रकार का नाम हस्ताक्षर बाइट्स में आकार न्यूनतम मान अधिकतम मान
सी और सी++ शार्ट हस्ताक्षर 2 −32,767[lower-alpha 6] +32,767
अहस्ताक्षरित शार्ट अहस्ताक्षरित 2 0 65,535
सी# शार्ट हस्ताक्षर 2 −32,768 +32,767
यूशॉर्ट अहस्ताक्षरित 2 0 65,535
जावा शार्ट हस्ताक्षर 2 −32,768 +32,767
एसक्यूएल स्मालिंट हस्ताक्षर 2 −32,768 +32,767


लंबा पूर्णांक

एक लंबा पूर्णांक एक पूर्ण पूर्णांक का प्रतिनिधित्व कर सकता है जिसकी सीमा (कंप्यूटर विज्ञान) उसी मशीन पर एक मानक पूर्णांक से अधिक या उसके बराबर है।

सी (प्रोग्रामिंग भाषा) में इसे long द्वारा प्रदर्शित किया जाता है। यह कम से कम 32 बिट होना आवश्यक है, और एक मानक पूर्णांक से बड़ा हो भी सकता है और नहीं भी हो सकता हैं। एक अनुरूप प्रोग्राम यह मान सकता है कि यह -(231−1)[9] और 231−1 के बीच मूल्यों को सुरक्षित रूप से संग्रहीत कर सकता है,[10] किन्तु यह नहीं माना जा सकता है कि सीमा बड़ी नहीं है।

सामान्य लंबे पूर्णांक आकार
प्रोग्रामिंग भाषा स्वीकृति प्रकार मंच डेटा प्रकार का नाम बाइट में संचय हस्ताक्षरित सीमा अहस्ताक्षरित सीमा
सी आईएसओ/एएनएसआई सी99 अंतर्राष्ट्रीय मानक यूनिक्स,16/32-बिट प्रणाली[6]
विंडोज,16/32/64-बिट प्रणाली[6]
लॉन्ग[lower-alpha 7] 4
(न्यूनतम आवश्यकता 4)
−2,147,483,647 से +2,147,483,647 0 से 4,294,967,295
(न्यूनतम आवश्यकता)
सी आईएसओ/एएनएसआई सी99 अंतर्राष्ट्रीय मानक यूनिक्स,
64-बिट प्रणाली[6][8]
लॉन्ग[lower-alpha 7] 8
(न्यूनतम आवश्यकता 4)
−9,223,372,036,854,775,807 से +9,223,372,036,854,775,807 0 से 18,446,744,073,709,551,615
सी++ आईएसओ / एएनएसआई अंतर्राष्ट्रीय मानक यूनिक्स, विंडोज,
16/32-बिट प्रणाली
लॉन्ग[lower-alpha 7] 4 [12]
(न्यूनतम आवश्यकता 4)
−2,147,483,648 से +2,147,483,647
0 से 4,294,967,295
(न्यूनतम आवश्यकता)
सी ++/सीएलआई अंतर्राष्ट्रीय मानक
ईसीएमए-372
यूनिक्स, विंडोज,
16/32-बिट प्रणाली
लॉन्ग[lower-alpha 7] 4 [13]
(न्यूनतम आवश्यकता 4)
−2,147,483,648 से +2,147,483,647
0 से 4,294,967,295
(न्यूनतम आवश्यकता)
वीबी कंपनी मानक विंडोज लॉन्ग 4 [14] −2,147,483,648 से +2,147,483,647
वीबीए कंपनी मानक विंडोज, मैक ओएसएक्स लॉन्ग 4 [15] −2,147,483,648 से +2,147,483,647
एसक्यूएल सर्वर कंपनी मानक विंडोज बिगइंट 8 −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807 0 से 18,446,744,073,709,551,615
सी#/ वीबी डॉट नेट ईसीएमए अंतर्राष्ट्रीय मानक माइक्रोसॉफ्ट डॉट नेट लॉन्ग या इंट64 8 −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807 0 से 18,446,744,073,709,551,615
जावा अंतर्राष्ट्रीय/कंपनी मानक जावा मंच लॉन्ग 8 −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
पास्कल ? विंडोज, यूनिक्स इंट64 8 −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807 0 से 18,446,744,073,709,551,615 (क्यूवर्ड प्रकार)


लंबा लंबा

सी (प्रोग्रामिंग भाषा) के सी99 संस्करण और सी++ के सी++11 संस्करण में, a long long प्रकार समर्थित है जिसकी मानक की न्यूनतम क्षमता दोगुनी है लंबा । यह प्रकार उन कंपाइलरों द्वारा समर्थित नहीं है जिनके लिए सी कोड को पिछले सी ++ मानक, सी ++ 03 के अनुरूप होना आवश्यक है, क्योंकि long long प्रकार सी ++ 03 में उपस्थित नहीं था। एएनएसआई/आईएसओ अनुपालक संकलक के लिए, निर्दिष्ट श्रेणियों के लिए न्यूनतम आवश्यकताएं, अर्थात, −(263−1)[9]263-1 हस्ताक्षरित के लिए और 0 से 264−1 अहस्ताक्षरित के लिए,[10]पूरा होना चाहिए; चूँकि, इस सीमा का विस्तार करने की अनुमति है।[16][17] प्लेटफ़ॉर्म के बीच कोड और डेटा का आदान-प्रदान करते समय या सीधे हार्डवेयर एक्सेस करते समय यह एक समस्या हो सकती है। इस प्रकार, प्लेटफ़ॉर्म स्वतंत्र त्रुटिहीन चौड़ाई प्रकार प्रदान करने वाले हेडर के कई समुच्चय हैं। सी मानक पुस्तकालय प्रदान करता है stdint.h; इसे सी99 और सी++11 में प्रस्तुत किया गया था।

वाक्य-विन्यास

पूर्णांकों के लिए शाब्दिक को नियमित अरबी अंकों के रूप में लिखा जा सकता है, जिसमें अंकों का एक क्रम होता है और मान से पहले एक हाइफन-ऋण द्वारा प्रदर्शित निषेध होता है। चूँकि, अधिकांश प्रोग्रामिंग भाषाएँ अंक समूहीकरण के लिए अल्पविराम या रिक्त स्थान के उपयोग की अनुमति नहीं देती हैं। पूर्णांक शाब्दिक के उदाहरण हैं:

  • 42
  • 10000
  • -233000

कई प्रोग्रामिंग भाषाओं में पूर्णांक शाब्दिक लिखने के लिए कई वैकल्पिक विधियाँ हैं:

  • अधिकांश प्रोग्रामिंग भाषा, विशेष रूप से सी (प्रोग्रामिंग भाषा) से प्रभावित, हेक्साडेसिमल मान जैसे 0xDEADBEEF का प्रतिनिधित्व करने के लिए 0X या 0x के साथ एक पूर्णांक शाब्दिक उपसर्ग करती हैं, अन्य भाषाएँ भिन्न अंकन का उपयोग कर सकती हैं, उदा. असेम्बली भाषाएँ हेक्साडेसिमल मान के अंत में H या h जोड़ देती हैं।
  • पर्ल, रूबी (प्रोग्रामिंग भाषा), जावा (प्रोग्रामिंग भाषा), जूलिया (प्रोग्रामिंग भाषा), डी (प्रोग्रामिंग भाषा), गो (प्रोग्रामिंग भाषा), रस्ट (प्रोग्रामिंग भाषा) और पायथन (प्रोग्रामिंग भाषा) (संस्करण 3.6 से शुरू) स्पष्टता के लिए एम्बेडेड बल देना की अनुमति दें, उदा। 10_000_000, और फिक्स्ड-फॉर्म फोरट्रान पूर्णांक अक्षर में एम्बेडेड रिक्त स्थान को अनदेखा करता है। सी (सी2x से शुरू) और सी++ इस उद्देश्य के लिए एकल कोट्स का उपयोग करते हैं।
  • सी (प्रोग्रामिंग भाषा) और सी++ में, एक अग्रणी शून्य एक अष्टभुजाकार मान को प्रदर्शित करता है, उदा। 0755. यह मुख्य रूप से मोड (यूनिक्स) के साथ प्रयोग करने के लिए अभिप्रेत था; चूँकि, इसकी आलोचना की गई है क्योंकि सामान्य पूर्णांक भी शून्य के साथ नेतृत्व कर सकते हैं।[18] जैसे, हेक्साडेसिमल मानों द्वारा उपयोग किए गए लेआउट के बाद, पायथन, रूबी, हास्केल, और ओकाम्ल 0O या 0o के साथ ऑक्टल मान उपसर्ग करते हैं।
  • जावा (प्रोग्रामिंग भाषा), सी शार्प (प्रोग्रामिंग भाषा), स्काला (प्रोग्रामिंग भाषा), पायथन (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा), ओकाम्ल, सी (सी23 से शुरू) और सी ++ सहित कई भाषाएँ 0B या 0b के साथ किसी संख्या को उपसर्ग करके बाइनरी मानों का प्रतिनिधित्व कर सकती हैं।

यह भी देखें

टिप्पणियाँ

  1. Not all SQL dialects have unsigned datatypes.[3][4]
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 The sizes of char, short, int, long and long long in C/C++ are dependent upon the implementation of the language.
  3. Java does not directly support arithmetic on char types. The results must be cast back into char from an int.
  4. 4.0 4.1 The sizes of Delphi's Integer and Cardinal are not guaranteed, varying from platform to platform; usually defined as LongInt and LongWord respectively.
  5. 5.0 5.1 Reserved for future use. Not implemented yet.
  6. The ISO C standard allows implementations to reserve the value with sign bit 1 and all other bits 0 (for sign–magnitude and two's complement representation) or with all bits 1 (for ones' complement) for use as a "trap" value, used to indicate (for example) an overflow.[9]
  7. 7.0 7.1 7.2 7.3 The terms long and int are equivalent[11]


संदर्भ

  1. Cheever, Eric. "Representation of numbers". Swarthmore College. Retrieved 2011-09-11.
  2. Madhusudhan Konda (2011-09-02). "A look at Java 7's new features - O'Reilly Radar". Radar.oreilly.com. Retrieved 2013-10-15.
  3. "Sybase Adaptive Server Enterprise 15.5: Exact Numeric Datatypes".
  4. "MySQL 5.6 Numeric Datatypes".
  5. "BigInteger (Java Platform SE 6)". Oracle. Retrieved 2011-09-11.
  6. 6.0 6.1 6.2 6.3 6.4 Fog, Agner (2010-02-16). "Calling conventions for different C++ compilers and operating systems: Chapter 3, Data Representation" (PDF). Retrieved 2010-08-30.
  7. Giguere, Eric (1987-12-18). "The ANSI Standard: A Summary for the C Programmer". Retrieved 2010-09-04.
  8. 8.0 8.1 Meyers, Randy (2000-12-01). "The New C: Integers in C99, Part 1". drdobbs.com. Retrieved 2010-09-04.
  9. 9.0 9.1 9.2 9.3 "ISO/IEC 9899:201x" (PDF). open-std.org. section 6.2.6.2, paragraph 2. Retrieved 2016-06-20.
  10. 10.0 10.1 10.2 "ISO/IEC 9899:201x" (PDF). open-std.org. section 5.2.4.2.1. Retrieved 2016-06-20.
  11. "ISO/IEC 9899:201x" (PDF). open-std.org. Retrieved 2013-03-27.
  12. "Fundamental types in C++". cppreference.com. Retrieved 5 December 2010.
  13. "Chapter 8.6.2 on page 12" (PDF). ecma-international.org.
  14. VB 6.0 help file
  15. "The Integer, Long, and Byte Data Types (VBA)". microsoft.com. Retrieved 2006-12-19.
  16. Giguere, Eric (December 18, 1987). "The ANSI Standard: A Summary for the C Programmer". Retrieved 2010-09-04.
  17. "American National Standard Programming Language C specifies the syntax and semantics of programs written in the C programming language". Archived from the original on 2010-08-22. Retrieved 2010-09-04.
  18. ECMAScript 6th Edition draft: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-numeric-literals Archived 2013-12-16 at the Wayback Machine