पूर्णांक (कंप्यूटर विज्ञान): Difference between revisions

From Vigyanwiki
(Created page with "{{short description|Datum of integral data type}} कंप्यूटर विज्ञान में, एक पूर्णांक अभिन्न आंक...")
 
No edit summary
Line 18: Line 18:
{| class="wikitable"
{| class="wikitable"
|-
|-
! rowspan="2" | Bits
! rowspan="2" | बिट्स
! rowspan="2" | Name
! rowspan="2" | नाम
! rowspan="2" | Range (assuming [[two's complement]] for [[Signed number representations|signed]])
! rowspan="2" | सीमा ([[Signed number representations|हस्ताक्षरित]] के लिए [[two's complement|दो पूरक]] मानते हुए)
! rowspan="2" | Decimal digits
! rowspan="2" | दशमलव अंक
! rowspan="2" | Uses
! rowspan="2" | उपयोग
! colspan="8" scope="col" | Implementations
! colspan="8" scope="col" | कार्यान्वयन
|-
|-
! [[C (programming language)|C]]/[[C++]]
! [[C (programming language)|सी]]/[[C++|सी++]]
! [[C Sharp (programming language)|C#]]
! [[C Sharp (programming language)|सी#]]
! [[Pascal (programming language)|Pascal]] and [[Delphi (programming language)|Delphi]]
! [[Pascal (programming language)|पास्कल]] और
! [[Java (programming language)|Java]]
[[Delphi (programming language)|डेल्फी]]
! [[SQL]]{{efn |name=notesqla    | Not all SQL dialects have unsigned datatypes.<ref name=SybDT>{{cite web|url=http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36271.1550/html/blocks/blocks20.htm |title=Sybase Adaptive Server Enterprise 15.5: Exact Numeric Datatypes}}</ref><ref name=MySQLDT>{{cite web|url=http://dev.mysql.com/doc/refman/5.6/en/numeric-types.html |title=MySQL 5.6 Numeric Datatypes}}</ref>}}
! [[Java (programming language)|जावा]]
! [[Fortran|FORTRAN]]
! [[SQL|एसक्यूएल]]{{efn |name=notesqla    | Not all SQL dialects have unsigned datatypes.<ref name=SybDT>{{cite web|url=http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36271.1550/html/blocks/blocks20.htm |title=Sybase Adaptive Server Enterprise 15.5: Exact Numeric Datatypes}}</ref><ref name=MySQLDT>{{cite web|url=http://dev.mysql.com/doc/refman/5.6/en/numeric-types.html |title=MySQL 5.6 Numeric Datatypes}}</ref>}}
! [[D (programming language)|D]]
! [[Fortran|फोरट्रान]]
! [[Rust (programming language)|Rust]]
! [[D (programming language)|डी]]
! [[Rust (programming language)|रस्ट]]
|-
|-
|rowspan=2 style="text-align:right;"| 4
|rowspan=2 style="text-align:right;"| 4
|rowspan=2| [[nibble]], semioctet
|rowspan=2| [[nibble|निबल]], अर्धवृद्धि
|''[[Signed number representations|Signed:]]'' From −8 to 7, from −(2<sup>3</sup>) to 2<sup>3</sup>&nbsp;−&nbsp;1
|''[[Signed number representations|हस्ताक्षरित:]]'' −8 से 7 तक, −(2<sup>3</sup>) से 2<sup>3</sup>&nbsp;−1 तक
| style="text-align:right;" | {{#expr:3*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:3*ln2/ln10 round 2}}
| rowspan="2" | [[Binary-coded decimal]], single decimal digit representation
| rowspan="2" | [[Binary-coded decimal|बाइनरी-कोडित दशमलव]], एकल दशमलव अंक प्रतिनिधित्व
| rowspan="2"  {{n/a}}
| rowspan="2"  {{n/a}}
| rowspan="2"  {{n/a}}
| rowspan="2"  {{n/a}}
Line 48: Line 49:
| rowspan="2"  {{n/a}}
| rowspan="2"  {{n/a}}
|-
|-
|''Unsigned:'' From 0 to 15, which equals 2<sup>4</sup>&nbsp;−&nbsp;1
|''अहस्ताक्षरित:'' 0 से 15 तक, जो 2<sup>4</sup>&nbsp;−1 के बराबर है
| style="text-align:right;" | {{#expr:4*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:4*ln2/ln10 round 2}}
|-
|-
|rowspan=2 style="text-align:right;"| 8
|rowspan=2 style="text-align:right;"| 8
|rowspan=2| [[byte]], [[octet (computing)|octet]], i8, u8
|rowspan=2| [[byte|बाइट]], [[octet (computing)|ओकटेट]], आई8, यू8
|''Signed:'' From −128 to 127, from −(2<sup>7</sup>) to 2<sup>7</sup>&nbsp;−&nbsp;1
|''हस्ताक्षरित:'' −128 से 127 तक,   −(2<sup>7</sup>) से 2<sup>7</sup>&nbsp;−1 तक
| style="text-align:right;" | {{#expr:7*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:7*ln2/ln10 round 2}}
| rowspan="2" | [[ASCII]] characters, [[code unit]]s in the [[UTF-8]] [[character encoding]]
| rowspan="2" | [[ASCII|एएससीआईआई]] वर्ण, [[code unit|कोड इकाइयां]] [[UTF-8|यूटीएफ-8]] [[character encoding|वर्ण एन्कोडिंग में]]
| {{mono|int8_t}}, {{mono|signed char}}{{efn|name=notescb|garbage=8 char}}
| {{mono|इंट8_टी}}, {{mono|हस्ताक्षरित चार}}{{efn|name=notescb|garbage=8 char}}
| {{mono|sbyte}}
| {{mono|sbyte}}
| {{mono|Shortint}}
| {{mono|Shortint}}
Line 65: Line 66:
|{{mono|i8}}
|{{mono|i8}}
|-
|-
|''Unsigned:'' From 0 to 255, which equals 2<sup>8</sup>&nbsp;−&nbsp;1
|''अहस्ताक्षरित:'' 0 से 255 तक, जो 2<sup>8</sup>&nbsp;−1 के बराबर है
| style="text-align:right;" | {{#expr:8*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:8*ln2/ln10 round 2}}
| {{mono|uint8_t}}, {{mono|unsigned char}}{{efn|name=notescb|garbage=8 char}}
| {{mono|यूंट8_टी}}, {{mono|अहस्ताक्षरित चार}}{{efn|name=notescb|garbage=8 char}}
| {{mono|byte}}
| {{mono|byte}}
| {{mono|Byte}}
| {{mono|Byte}}
Line 77: Line 78:
|-
|-
|rowspan=2 style="text-align:right;"| 16
|rowspan=2 style="text-align:right;"| 16
|rowspan=2| halfword, [[Word (data type)|word]], short, i16, u16
|rowspan=2| हाफवर्ड, [[Word (data type)|वर्ड]], शॉर्ट, आई16, यू16
|''Signed:'' From −32,768 to 32,767, from −(2<sup>15</sup>) to 2<sup>15</sup>&nbsp;−&nbsp;1
|''हस्ताक्षरित:'' −32,768 से 32,767 तक, −(2<sup>15</sup>) से 2<sup>15</sup>&nbsp;−1 तक
| style="text-align:right;" | {{#expr:15*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:15*ln2/ln10 round 2}}
| rowspan="2" | [[Universal Character Set|UCS-2]] characters, [[code unit]]s in the [[UTF-16]] [[character encoding]]
| rowspan="2" | [[Universal Character Set|यूसीएस-2]] वर्ण, [[UTF-16|यूटीएफ-16]] [[character encoding|वर्ण एन्कोडिंग में]] [[code unit|कोड इकाइयाँ]]
| {{mono|int16_t}}, {{mono|short}}{{efn|name=notescb|garbage=16 short}}, {{mono|int}}{{efn|name=notescb|garbage=16 int}}
| {{mono|इंट16_टी}}, {{mono|शार्ट}}{{efn|name=notescb|garbage=16 short}}, {{mono|इंट}}{{efn|name=notescb|garbage=16 int}}
| {{mono|short}}
| {{mono|short}}
| {{mono|Smallint}}
| {{mono|Smallint}}
Line 90: Line 91:
|{{mono|i16}}
|{{mono|i16}}
|-
|-
|''Unsigned:'' From 0 to 65,535, which equals 2<sup>16</sup>&nbsp;&nbsp;1
|''अहस्ताक्षरित:'' 0 से 65,535 से, जो 2<sup>16</sup> − 1 के बराबर है
| style="text-align:right;" | {{#expr:16*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:16*ln2/ln10 round 2}}
| {{mono|uint16_t, unsigned}}{{efn|name=notescb|garbage=16 int}}, {{mono|unsigned int}}{{efn|name=notescb|garbage=16 int}}
| {{mono|यूंट16_टी, अहस्ताक्षरित}}{{efn|name=notescb|garbage=16 int}}, {{mono|अहस्ताक्षरित इंट}}{{efn|name=notescb|garbage=16 int}}
| {{mono|ushort}}
| {{mono|ushort}}
| {{mono|Word}}
| {{mono|Word}}
Line 102: Line 103:
|-
|-
|rowspan=2 style="text-align:right;"| 32
|rowspan=2 style="text-align:right;"| 32
|rowspan=2| word, [[Unsigned long integer|long]], doubleword, longword, int, i32, u32
|rowspan=2| शब्द, [[Unsigned long integer|लंबा]], डबलवर्ड, लॉन्गवर्ड, इंट, आई32, यू32
|''Signed:'' From [[2147483647 (number)|−2,147,483,648 to 2,147,483,647]], from −(2<sup>31</sup>) to 2<sup>31</sup>&nbsp;−&nbsp;1
|''हस्ताक्षरित:'' [[2147483647 (number)|−2,147,483,648 से 2,147,483,647]] तक, −(2<sup>31</sup>) से 2<sup>31</sup>&nbsp;−1
| style="text-align:right;" | {{#expr:31*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:31*ln2/ln10 round 2}}
| rowspan="2"| [[UTF-32]] characters, [[24-bit color|true color]] with alpha, [[FourCC]], pointers in [[32-bit computing]]
| rowspan="2"| [[UTF-32|यूटीएफ-32]] वर्ण
अल्फा के साथ [[24-bit color|असली रंग]], [[32-bit computing|32-बिट कंप्यूटिंग]] में [[FourCC|फोरसीसी]], पॉइंटर्स 
| {{mono|int32_t}}, {{mono|int}}{{efn|name=notescb|garbage=32 int}}, {{mono|long}}{{efn|name=notescb|garbage=32 long}}
| {{mono|int32_t}}, {{mono|int}}{{efn|name=notescb|garbage=32 int}}, {{mono|long}}{{efn|name=notescb|garbage=32 long}}
| {{mono|int}}
| {{mono|int}}
Line 115: Line 117:
|{{mono|i32}}
|{{mono|i32}}
|-
|-
|''Unsigned:'' From 0 to 4,294,967,295, which equals 2<sup>32</sup>&nbsp;&nbsp;1
|''अहस्ताक्षरित:'' 0 से 4,294,967,295 से, जो 2<sup>32</sup> − 1 के बराबर है
| style="text-align:right;" | {{#expr:32*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:32*ln2/ln10 round 2}}
| {{mono|uint32_t, unsigned}}{{efn|name=notescb|garbage=16 int}}, {{mono|unsigned int}}{{efn|name=notescb|garbage=16 int}}, {{mono|unsigned long}}{{efn|name=notescb|garbage=16 int}}
| {{mono|यूंट32_टी, अहस्ताक्षरित}}{{efn|name=notescb|garbage=16 int}}, {{mono|अहस्ताक्षरित इंट}}{{efn|name=notescb|garbage=16 int}}, {{mono|अहस्ताक्षरित लंबा}}{{efn|name=notescb|garbage=16 int}}
| {{mono|uint}}
| {{mono|uint}}
| {{mono|LongWord}}; {{mono|DWord}}; {{mono|Cardinal}}{{efn|name=notedelphic|garbage=unsigned}}
| {{mono|LongWord}}; {{mono|DWord}}; {{mono|Cardinal}}{{efn|name=notedelphic|garbage=unsigned}}
Line 127: Line 129:
|-
|-
| rowspan="2" style="text-align:right;"| 64
| rowspan="2" style="text-align:right;"| 64
| rowspan="2" | word, doubleword, longword, long long, quad, quadword, qword, int64, i64, u64
| rowspan="2" | वर्ड, डबलवर्ड, लॉन्गवर्ड, लॉन्ग लॉन्ग, क्वाड, क्वाडवर्ड, क्यूवर्ड, इंट64, आई64, यू64
|''Signed:'' From −9,223,372,036,854,775,808 to [[9223372036854775807|9,223,372,036,854,775,807]], from −(2<sup>63</sup>) to 2<sup>63</sup>&nbsp;−&nbsp;1
|''हस्ताक्षरित:'' −9,223,372,036,854,775,808 से [[9223372036854775807|9,223,372,036,854,775,807]] तक, −(2<sup>63</sup>) से 2<sup>63</sup>&nbsp;−1 तक
| style="text-align:right;" | {{#expr:63*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:63*ln2/ln10 round 2}}
| rowspan="2" | Time (milliseconds since the [[Unix epoch]]), pointers in [[64-bit computing]]
| rowspan="2" | समय ([[Unix epoch|यूनिक्स युग]] से मिलीसेकंड), [[64-bit computing|64-बिट कंप्यूटिंग]] में संकेत
| {{mono|int64_t}}, {{mono|long}}{{efn|name=notescb|garbage=64 long}}, {{mono|long long}}{{efn|name=notescb|garbage=64 long long}}
| {{mono|int64_t}}, {{mono|long}}{{efn|name=notescb|garbage=64 long}}, {{mono|long long}}{{efn|name=notescb|garbage=64 long long}}
| {{mono|long}}
| {{mono|long}}
Line 140: Line 142:
|{{mono|i64}}
|{{mono|i64}}
|-
|-
|''Unsigned:'' From 0 to 18,446,744,073,709,551,615, which equals 2<sup>64</sup>&nbsp;&nbsp;1
|''अहस्ताक्षरित:'' 0 से 18,446,744,073,709,551,615 से, जो 2<sup>64</sup> − 1 के बराबर है
| style="text-align:right;" | {{#expr:64*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:64*ln2/ln10 round 2}}
| {{mono|uint64_t}}, {{mono|unsigned long long}}{{efn|name=notescb|garbage=16 int}}
| {{mono|uint64_t}}, {{mono|unsigned long long}}{{efn|name=notescb|garbage=16 int}}
Line 152: Line 154:
|-
|-
|rowspan=2 style="text-align:right;"| 128
|rowspan=2 style="text-align:right;"| 128
|rowspan=2| octaword, double quadword, i128, u128
|rowspan=2| ऑक्टावर्ड, डबल क्वाडवर्ड, आई128, यू128
|''Signed:'' From −170,141,183,460,469,231,731,687,303,715,884,105,728 to 170,141,183,460,469,231,731,687,303,715,884,105,727, from −(2<sup>127</sup>) to 2<sup>127</sup>&nbsp;−&nbsp;1
|''हस्ताक्षरित:'' From −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, −(2<sup>127</sup>) से 2<sup>127</sup> −1 तक
| style="text-align:right;" | {{#expr:127*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:127*ln2/ln10 round 2}}
|rowspan=2| Complex scientific calculations,
|rowspan=2| जटिल वैज्ञानिक गणना,
[[IPv6]] addresses,
[[IPv6|आईपी6]] पते, [[GUID|गाइड]]
[[GUID]]s
|rowspan=2| C: only available as non-standard compiler-specific extension
|rowspan=2| C: only available as non-standard compiler-specific extension
|rowspan=2 {{n/a}}
|rowspan=2 {{n/a}}
Line 167: Line 168:
|{{mono|i128}}
|{{mono|i128}}
|-
|-
| ''Unsigned:'' From 0 to 340,282,366,920,938,463,463,374,607,431,768,211,455, which equals 2<sup>128</sup>&nbsp;&nbsp;1
| ''अहस्ताक्षरित:'' 0 से 340,282,366,920,938,463,463,374,607,431,768,211,455 से, जो 2<sup>128</sup> − 1 के बराबर है
| style="text-align:right;" | {{#expr:128*ln2/ln10 round 2}}
| style="text-align:right;" | {{#expr:128*ln2/ln10 round 2}}
| {{n/a}}
| {{n/a}}
Line 174: Line 175:
|-
|-
| rowspan="2" style="text-align:right;"| ''n''
| rowspan="2" style="text-align:right;"| ''n''
| rowspan="2" | ''n''-bit integer<br /> (general case)
| rowspan="2" | एन-बिट पूर्णांक
| ''Signed:'' −(2<sup>''n''−1</sup>) to (2<sup>''n''−1</sup>&nbsp;−&nbsp;1)
(सामान्य मामला)
| colspan="2" | (''n''&nbsp;−&nbsp;1) log<sub>10</sub>&nbsp;2
| ''हस्ताक्षरित:'' −(2<sup>''n''−1</sup>) से (2<sup>''n''−1</sup>&nbsp;−1)
| colspan="2" | (''n''&nbsp;−1) log<sub>10</sub>2
| colspan="8" | [[Ada (programming language)|Ada]]: {{mono|range -2**(n-1)..2**(n-1)-1}}
| colspan="8" | [[Ada (programming language)|Ada]]: {{mono|range -2**(n-1)..2**(n-1)-1}}
|-
|-
| ''Unsigned:'' 0 to (2<sup>''n''</sup> − 1)
| ''अहस्ताक्षरित:'' 0 से (2<sup>''n''</sup> − 1)
| colspan="2" | ''n'' log<sub>10</sub>&nbsp;2
| colspan="2" | ''n'' log<sub>10</sub>2
| colspan="8" | Ada: {{mono|range 0..2**n-1}}, {{mono|mod 2**n}}; standard libraries' or third-party arbitrary arithmetic libraries' BigDecimal or Decimal classes in many languages such as Python, C++, etc.
| colspan="8" | Ada: {{mono|range 0..2**n-1}}, {{mono|mod 2**n}}; standard libraries' or third-party arbitrary arithmetic libraries' BigDecimal or Decimal classes in many languages such as Python, C++, etc.
|}
|}
Line 219: Line 221:
! [[Programming language]]
! [[Programming language]]
! Data type name
! Data type name
! [[Signedness]]
! [[Signedness|हस्ताक्षरितness]]
! Size in [[bytes]]
! Size in [[bytes|बाइटs]]
! Minimum value
! Minimum value
! Maximum value
! Maximum value
Line 278: Line 280:
! [[Platform (computing)|Platform]]s
! [[Platform (computing)|Platform]]s
! Data type name
! Data type name
! Storage in [[bytes]]
! Storage in [[bytes|बाइटs]]
! [[Signedness|Signed]] range
! [[Signedness|हस्ताक्षरित]] range
! [[Signedness|Unsigned]] range
! [[Signedness|अहस्ताक्षरित]] range
|-
|-
| [[C (programming)|C]] ISO/ANSI C99
| [[C (programming)|C]] ISO/ANSI C99
Line 287: Line 289:
| {{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|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>}}
| 4<br>(minimum requirement 4)
| 4<br>(minimum requirement 4)
| −2,147,483,647 to +2,147,483,647
| −2,147,483,647 से +2,147,483,647
| 0 to 4,294,967,295<br>(minimum requirement)
| 0 से 4,294,967,295<br>(minimum requirement)
|-
|-
| [[C (programming)|C]] ISO/ANSI C99
| [[C (programming)|C]] ISO/ANSI C99
Line 295: Line 297:
| {{mono|long}}{{efn|name=cross1}}
| {{mono|long}}{{efn|name=cross1}}
| 8<br>(minimum requirement 4)
| 8<br>(minimum requirement 4)
| −9,223,372,036,854,775,807 to +9,223,372,036,854,775,807
| −9,223,372,036,854,775,807 से +9,223,372,036,854,775,807
| 0 to 18,446,744,073,709,551,615
| 0 से 18,446,744,073,709,551,615
|-
|-
| [[C++]] ISO/ANSI
| [[C++]] ISO/ANSI
Line 304: Line 306:
| 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>(minimum requirement 4)
| −2,147,483,648 to +2,147,483,647<br>
| −2,147,483,648 से +2,147,483,647<br>
| 0 to 4,294,967,295<br>(minimum requirement)
| 0 से 4,294,967,295<br>(minimum requirement)
|-
|-
| [[C++/CLI]]
| [[C++/CLI]]
Line 312: Line 314:
| {{mono|long}}{{efn|name=cross1}}
| {{mono|long}}{{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>(minimum requirement 4)
| −2,147,483,648 to +2,147,483,647<br>
| −2,147,483,648 से +2,147,483,647<br>
| 0 to 4,294,967,295<br>(minimum requirement)
| 0 से 4,294,967,295<br>(minimum requirement)
|-
|-
| [[Visual Basic (classic)|VB]]
| [[Visual Basic (classic)|VB]]
Line 320: Line 322:
| {{mono|Long}}
| {{mono|Long}}
| 4 <ref>VB 6.0 help file</ref>
| 4 <ref>VB 6.0 help file</ref>
| −2,147,483,648 to +2,147,483,647
| −2,147,483,648 से +2,147,483,647
| {{n/a}}
| {{n/a}}
|-
|-
Line 328: Line 330:
| {{mono|Long}}
| {{mono|Long}}
| 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 to +2,147,483,647
| −2,147,483,648 से +2,147,483,647
| {{n/a}}
| {{n/a}}
|-
|-
Line 336: Line 338:
| {{mono|BigInt}}
| {{mono|BigInt}}
| 8
| 8
| −9,223,372,036,854,775,808 to +9,223,372,036,854,775,807
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| 0 to 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)|C#]]/ [[Visual Basic .NET|VB.NET]]
Line 344: Line 346:
| {{mono|long}} or {{mono|Int64}}
| {{mono|long}} or {{mono|Int64}}
| 8
| 8
| −9,223,372,036,854,775,808 to +9,223,372,036,854,775,807
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| 0 to 18,446,744,073,709,551,615
| 0 से 18,446,744,073,709,551,615
|-
|-
| [[Java (programming language)|Java]]
| [[Java (programming language)|Java]]
Line 352: Line 354:
| {{mono|long}}
| {{mono|long}}
| 8
| 8
| −9,223,372,036,854,775,808 to +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}}
|-
|-
Line 360: Line 362:
| {{mono|int64}}
| {{mono|int64}}
| 8
| 8
| −9,223,372,036,854,775,808 to +9,223,372,036,854,775,807
| −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
| 0 to 18,446,744,073,709,551,615 (Qword type)
| 0 से 18,446,744,073,709,551,615 (Qword type)
|}
|}



Revision as of 20:50, 28 February 2023

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

मूल्य और प्रतिनिधित्व

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

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

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

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

कुछ दशमलव कंप्यूटर पूर्णांकों के दशमलव निरूपण का उपयोग करते हैं, जो बाइनरी-कोडेड दशमलव | बाइनरी-कोडेड दशमलव (BCD) या अन्य प्रारूप में संग्रहीत होते हैं। इन मानों के लिए आमतौर पर 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] sbyte Shortint byte tinyint integer(1) byte i8
अहस्ताक्षरित: 0 से 255 तक, जो 28 −1 के बराबर है 2.41 यूंट8_टी, अहस्ताक्षरित चार[lower-alpha 2] byte Byte unsigned tinyint ubyte u8
16 हाफवर्ड, वर्ड, शॉर्ट, आई16, यू16 हस्ताक्षरित: −32,768 से 32,767 तक, −(215) से 215 −1 तक 4.52 यूसीएस-2 वर्ण, यूटीएफ-16 वर्ण एन्कोडिंग में कोड इकाइयाँ इंट16_टी, शार्ट[lower-alpha 2], इंट[lower-alpha 2] short Smallint short smallint integer(2) short i16
अहस्ताक्षरित: 0 से 65,535 से, जो 216 − 1 के बराबर है 4.82 यूंट16_टी, अहस्ताक्षरित[lower-alpha 2], अहस्ताक्षरित इंट[lower-alpha 2] ushort Word char[lower-alpha 3] unsigned smallint ushort u16
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] int LongInt; Integer[lower-alpha 4] int int integer(4) int i32
अहस्ताक्षरित: 0 से 4,294,967,295 से, जो 232 − 1 के बराबर है 9.63 यूंट32_टी, अहस्ताक्षरित[lower-alpha 2], अहस्ताक्षरित इंट[lower-alpha 2], अहस्ताक्षरित लंबा[lower-alpha 2] uint LongWord; DWord; Cardinal[lower-alpha 4] unsigned int uint u32
64 वर्ड, डबलवर्ड, लॉन्गवर्ड, लॉन्ग लॉन्ग, क्वाड, क्वाडवर्ड, क्यूवर्ड, इंट64, आई64, यू64 हस्ताक्षरित: −9,223,372,036,854,775,808 से 9,223,372,036,854,775,807 तक, −(263) से 263 −1 तक 18.96 समय (यूनिक्स युग से मिलीसेकंड), 64-बिट कंप्यूटिंग में संकेत int64_t, long[lower-alpha 2], long long[lower-alpha 2] long Int64 long bigint integer(8) long i64
अहस्ताक्षरित: 0 से 18,446,744,073,709,551,615 से, जो 264 − 1 के बराबर है 19.27 uint64_t, unsigned long long[lower-alpha 2] ulong UInt64; QWord unsigned bigint ulong u64
128 ऑक्टावर्ड, डबल क्वाडवर्ड, आई128, यू128 हस्ताक्षरित: From −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 पते, गाइड

C: only available as non-standard compiler-specific extension integer(16) cent[lower-alpha 5] i128
अहस्ताक्षरित: 0 से 340,282,366,920,938,463,463,374,607,431,768,211,455 से, जो 2128 − 1 के बराबर है 38.53 ucent[lower-alpha 5] u128
n एन-बिट पूर्णांक

(सामान्य मामला)

हस्ताक्षरित: −(2n−1) से (2n−1 −1) (n −1) log102 Ada: range -2**(n-1)..2**(n-1)-1
अहस्ताक्षरित: 0 से (2n − 1) n log102 Ada: range 0..2**n-1, mod 2**n; standard libraries' or third-party arbitrary arithmetic libraries' BigDecimal or Decimal classes in many languages such as Python, C++, etc.

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

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

लिस्प प्रोग्रामिंग भाषा, स्मॉलटाक, रेक्स, हास्केल (प्रोग्रामिंग भाषा), पायथन (प्रोग्रामिंग लैंग्वेज), और राकू (प्रोग्रामिंग भाषा) जैसी कुछ भाषाएं मनमाना सटीक पूर्णांक (जिसे अनंत सटीक पूर्णांक या bignum भी कहा जाता है) का समर्थन करती हैं। अन्य भाषाएँ जो इस अवधारणा को एक शीर्ष-स्तरीय निर्माण के रूप में समर्थन नहीं करती हैं, उनमें छोटे चर के सरणियों का उपयोग करके बहुत बड़ी संख्या का प्रतिनिधित्व करने के लिए पुस्तकालय उपलब्ध हो सकते हैं, जैसे कि जावा का BigInteger क्लास या पर्लbigintपैकेट।[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-बिट|36-बिट शब्द की लंबाई आम थी।

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

लघु पूर्णांक

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

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

Common short integer sizes
Programming language Data type name हस्ताक्षरितness Size in बाइटs Minimum value Maximum value
C and C++ short signed 2 −32,767[lower-alpha 6] +32,767
unsigned short unsigned 2 0 65,535
C# short signed 2 −32,768 +32,767
ushort unsigned 2 0 65,535
Java short signed 2 −32,768 +32,767
SQL smallint signed 2 −32,768 +32,767


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

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

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

Common long integer sizes
Programming language Approval Type Platforms Data type name Storage in बाइटs हस्ताक्षरित range अहस्ताक्षरित range
C ISO/ANSI C99 International Standard Unix,16/32-bit systems[6]
Windows,16/32/64-bit systems[6]
long[lower-alpha 7] 4
(minimum requirement 4)
−2,147,483,647 से +2,147,483,647 0 से 4,294,967,295
(minimum requirement)
C ISO/ANSI C99 International Standard Unix,
64-bit systems[6][8]
long[lower-alpha 7] 8
(minimum requirement 4)
−9,223,372,036,854,775,807 से +9,223,372,036,854,775,807 0 से 18,446,744,073,709,551,615
C++ ISO/ANSI International Standard Unix, Windows,
16/32-bit system
long[lower-alpha 7] 4 [12]
(minimum requirement 4)
−2,147,483,648 से +2,147,483,647
0 से 4,294,967,295
(minimum requirement)
C++/CLI International Standard
ECMA-372
Unix, Windows,
16/32-bit systems
long[lower-alpha 7] 4 [13]
(minimum requirement 4)
−2,147,483,648 से +2,147,483,647
0 से 4,294,967,295
(minimum requirement)
VB Company Standard Windows Long 4 [14] −2,147,483,648 से +2,147,483,647
VBA Company Standard Windows, Mac OS X Long 4 [15] −2,147,483,648 से +2,147,483,647
SQL Server Company Standard Windows BigInt 8 −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807 0 से 18,446,744,073,709,551,615
C#/ VB.NET ECMA International Standard Microsoft .NET long or Int64 8 −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807 0 से 18,446,744,073,709,551,615
Java International/Company Standard Java platform long 8 −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807
Pascal ? Windows, UNIX int64 8 −9,223,372,036,854,775,808 से +9,223,372,036,854,775,807 0 से 18,446,744,073,709,551,615 (Qword type)


लंबा लंबा

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

सिंटेक्स

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

  • 42
  • 10000
  • -233000

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

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