عدد صحيح (علوم الكمبيوتر)
في علوم الكمبيوتر ، العدد الصحيح هو مرجع لنوع البيانات المتكامل ، وهو نوع بيانات يمثل مجموعة من الأعداد الصحيحة الرياضية . قد تكون أنواع البيانات المتكاملة ذات أحجام مختلفة وقد يُسمح أو لا يُسمح لها باحتواء قيم سالبة. يتم تمثيل الأعداد الصحيحة بشكل شائع في الكمبيوتر كمجموعة من الأرقام الثنائية (بت). يختلف حجم التجميع ، لذا فإن مجموعة أحجام الأعداد الصحيحة تختلف باختلاف أنواع أجهزة الكمبيوتر. توفر أجهزة الكمبيوتر دائمًا طريقة لتمثيل سجل المعالج أو عنوان الذاكرة كعدد صحيح.
القيمة والتمثيل
قيمة عنصر بنوع متكامل هي العدد الصحيح الرياضي الذي يتوافق معه . قد تكون الأنواع المتكاملة بدون إشارة (قادرة على تمثيل الأعداد الصحيحة غير السالبة فقط) أو موقعة (قادرة على تمثيل الأعداد الصحيحة السالبة أيضًا). [1]
عادةً ما يتم تحديد قيمة عدد صحيح في الكود المصدري لبرنامج ما على شكل سلسلة من الأرقام مسبوقة اختياريًا بـ + أو -. تسمح بعض لغات البرمجة بالتدوينات الأخرى ، مثل النظام السداسي العشري (الأساس 16) أو الثماني (الأساس 8). تسمح بعض لغات البرمجة أيضًا بفواصل مجموعات الأرقام . [2]
التمثيل الداخلي لهذا المرجع هو الطريقة التي يتم بها تخزين القيمة في ذاكرة الكمبيوتر. على عكس الأعداد الصحيحة الرياضية ، فإن للمسند النموذجي في الكمبيوتر بعض الحد الأدنى والحد الأقصى من القيمة الممكنة.
التمثيل الأكثر شيوعًا لعدد صحيح موجب هو سلسلة من البتات ، باستخدام نظام الأرقام الثنائية . يختلف ترتيب بايتات الذاكرة التي تخزن البتات ؛ رؤية الهدية . عرض أو دقة نوع متكامل هو عدد البتات في تمثيله. يمكن للنوع المتكامل الذي يحتوي على عدد n بت أن يشفر رقمين n ؛ على سبيل المثال ، يمثل النوع غير المسمى عادةً القيم غير السالبة من 0 إلى 2 n −1. تُستخدم أحيانًا ترميزات أخرى لقيم الأعداد الصحيحة لأنماط البتات ، على سبيل المثال رمز عشري ثنائي أو رمز رمادي، أو كرموز أحرف مطبوعة مثل ASCII .
هناك أربع طرق معروفة لتمثيل الأرقام الموقعة في نظام الحوسبة الثنائية. الأكثر شيوعًا هو مكمل اثنين ، والذي يسمح بنوع متكامل موقّع مع n بت لتمثيل الأرقام من −2 ( n −1) إلى 2 ( n −1) −1. تعتبر العمليات الحسابية التكميلية للاثنين ملائمة لأن هناك تطابقًا مثاليًا واحدًا لواحد بين التمثيلات والقيم (على وجه الخصوص ، لا يوجد +0 منفصل و 0) ، ولأن الجمع والطرح والضرب لا يحتاجون إلى التمييز بين الأنواع الموقعة وغير الموقعة . الاحتمالات الأخرى تشملتعويض ثنائي ، حجم الإشارة ، وتكملة الآحاد .
تحدد بعض لغات الكمبيوتر أحجام الأعداد الصحيحة بطريقة مستقلة عن الآلة ؛ البعض الآخر له تعريفات مختلفة اعتمادًا على حجم كلمة المعالج الأساسي. لا تحدد جميع تطبيقات اللغة متغيرات من جميع أحجام الأعداد الصحيحة ، وقد لا تكون الأحجام المحددة مميزة حتى في تنفيذ معين. قد يكون عدد صحيح في لغة برمجة واحدة حجمًا مختلفًا بلغة مختلفة أو على معالج مختلف.
أنواع البيانات المتكاملة الشائعة
بت | اسم | النطاق (بافتراض مكمل اثنين للتوقيع ) | أرقام عشرية | الاستخدامات | تطبيقات | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
C / C ++ | سي # | باسكال ودلفي _ | جافا | SQL [أ] | فورتران | د | الصدأ | |||||
4 | عاب ، semioctet | التوقيع: من 8 إلى 7 ، من - (2 3 ) إلى 2 3-1 | 0.9 | تمثيل عشري ثنائي ، تمثيل رقم عشري واحد | غير متاح | غير متاح | غير متاح | غير متاح | غير متاح | غير متاح | غير متاح | غير متاح |
غير موقع: من 0 إلى 15 ، ما يساوي 2 4-1 | 1.2 | |||||||||||
8 | بايت ، ثماني ، i8 ، u8 | التوقيع: من 128 إلى 127 ، من - (2 7 ) إلى 2 7-1 | 2.11 | أحرف ASCII ووحدات الرمز في ترميز أحرف UTF-8 | int8_t ، حرف موقع [b] | رث | قصير | بايت | تينيينت | عدد صحيح (1) | بايت | i8 |
غير موقع: من 0 إلى 255 ، وهو ما يساوي 2 8-1 | 2.41 | uint8_t ، حرف غير موقّع [b] | بايت | بايت | غير متاح | miniint غير الموقعة | غير متاح | ubyte | u8 | |||
16 | نصف كلمة ، كلمة ، قصيرة ، i16 ، u16 | التوقيع: من 32768 إلى 32767 ، من - (2 15 ) إلى 2 15-1 | 4.52 | أحرف UCS-2 ووحدات الرمز في ترميز حرف UTF-16 | int16_t ، short [b] ، int [b] | قصيرة | سمولينت | قصيرة | الصغيرة | عدد صحيح (2) | قصيرة | أنا 16 |
غير موقع: من 0 إلى 65535 ، وهو ما يساوي 2 16-1 | 4.82 | uint16_t ، غير موقع [b] ، بدون توقيع int [b] | قريب | كلمة | شار [ج] | الصغيرة غير الموقعة | غير متاح | قريب | u16 | |||
32 | كلمة ، طويلة ، كلمة مزدوجة ، longword ، int ، i32 ، u32 | التوقيع: من 2،147،483،648 إلى 2،147،483،647 ، من - (2 31 ) إلى 2 31-1 | 9.33 | UTF-32 حرفًا ، لون حقيقي مع alpha ، FourCC ، مؤشرات في حوسبة 32 بت | int32_t ، int [b] ، long [b] | int | طويل إنت عدد صحيح [د] | int | int | عدد صحيح (4) | int | i32 |
غير موقع: من 0 إلى 4،294،967،295 ، وهو ما يساوي 2 32 - 1 | 9.63 | uint32_t ، بدون توقيع [b] ، بدون توقيع int [b] ، بدون توقيع طويل [b] | uint | لونغورد . DWord . الكاردينال [د] | غير متاح | عدد صحيح غير موقعة | غير متاح | uint | u32 | |||
64 | كلمة ، دوبلورد ، لونغ وورد ، طويل ، رباعي ، رباعي ، كيوورد ، إنت 64 ، آي 64 ، يو 64 | التوقيع: من −9،223،372،036،854،775،808 إلى 9،223،372،036،854،775،807 ، من - ( 263 ) إلى 2 63 - 1 | 18.96 | الوقت (مللي ثانية منذ حقبة Unix ) ، المؤشرات في حوسبة 64 بت | int64_t ، طويل [ب] ، طويل [ب] | طويل | Int64 | طويل | بيجينت | عدد صحيح (8) | طويل | i64 |
غير موقع : من 0 إلى 18،446،744،073،709،551،615 ، وهو ما يساوي 2 64 - 1 | 19.27 | uint64_t ، بدون توقيع طويل [b] | أولونغ | UInt64 ؛ QWord | غير متاح | بيجينت غير موقعة | غير متاح | أولونغ | u64 | |||
128 | octaword ، quadword المزدوجة ، i128 ، u128 | التوقيع : من -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 | 38.23 | حسابات علمية معقدة ، | C: متاح فقط كملحق غير قياسي خاص بالمترجم | غير متاح | غير متاح | غير متاح | غير متاح | عدد صحيح (16) | سنت [ه] | i128 |
غير موقعة: من 0 إلى 340،282،366،920،938،463،463،374،607،431،768،211،455 ، وهو ما يساوي 2128 - 1 | 38.53 | غير متاح | ucent [هـ] | u128 | ||||||||
ن | عدد صحيح n بت (حالة عامة) |
التوقيع: - (2 ن −1 ) إلى (2 ن −1-1 ) | ( ن - 1) سجل 10 2 | Ada : المدى -2 ** (n-1) .. 2 ** (n-1) -1 | ||||||||
غير موقع: من 0 إلى (2 ن - 1) | ن سجل 10 2 | Ada: النطاق 0..2 ** n-1 ، mod 2 ** n ؛ المكتبات القياسية أو الفئات العشرية الكبيرة أو العشرية للمكتبات الحسابية التعسفية التابعة لجهات خارجية في العديد من اللغات مثل Python و C ++ ، إلخ. |
تدعم وحدات المعالجة المركزية المختلفة أنواعًا مختلفة من البيانات المتكاملة. عادةً ، ستدعم الأجهزة كلاً من الأنواع الموقعة وغير الموقعة ، ولكن فقط مجموعة صغيرة وثابتة من العروض.
يسرد الجدول أعلاه عروض الأنواع المتكاملة التي تدعمها المعالجات الشائعة في الأجهزة. توفر لغات البرمجة عالية المستوى المزيد من الاحتمالات. من الشائع أن يكون لديك نوع متكامل "مزدوج العرض" يحتوي على ضعف عدد البتات مثل أكبر الأنواع المدعومة من الأجهزة. تحتوي العديد من اللغات أيضًا على أنواع حقل بت (عدد محدد من البتات ، يتم تقييده عادةً ليكون أقل من الحد الأقصى للعرض المدعوم من الأجهزة) وأنواع النطاق (التي يمكن أن تمثل فقط الأعداد الصحيحة في نطاق محدد).
تدعم بعض اللغات ، مثل Lisp و Smalltalk و REXX و Haskell و Python و Raku ، الأعداد الصحيحة العشوائية الدقيقة (المعروفة أيضًا باسم الأعداد الصحيحة اللانهائية أو bignums ). اللغات الأخرى التي لا تدعم هذا المفهوم كإنشاء مستوى أعلى قد يكون لديها مكتبات متاحة لتمثيل أعداد كبيرة جدًا باستخدام مصفوفات من المتغيرات الأصغر ، مثل فئة BigInteger في Java أو حزمة " bigint " لـ Perl . [5]هذه تستخدم أكبر قدر من ذاكرة الكمبيوتر كما هو ضروري لتخزين الأرقام ؛ ومع ذلك ، فإن الكمبيوتر يحتوي فقط على كمية محدودة من التخزين ، لذلك يمكنهم أيضًا تمثيل مجموعة فرعية محدودة من الأعداد الصحيحة الرياضية. تدعم هذه المخططات أرقامًا كبيرة جدًا ، على سبيل المثال ، يمكن استخدام كيلوبايت واحد من الذاكرة لتخزين أرقام تصل إلى 2466 رقمًا عشريًا.
نوع Boolean أو Flag هو نوع يمكن أن يمثل قيمتين فقط: 0 و 1 ، عادةً ما يتم تحديدهما بـ false و true على التوالي. يمكن تخزين هذا النوع في الذاكرة باستخدام بت واحد ، ولكن غالبًا ما يتم إعطاؤه بايت كامل لسهولة المعالجة وسرعة الوصول.
تُعرف الكمية المكونة من أربعة بتات باسم nibble (عند تناول الطعام ، تكون أصغر من لدغة ) أو nybble (كونها تورية على شكل كلمة بايت ). يقابل nibble رقمًا واحدًا في نظام سداسي عشري ويحمل رقمًا واحدًا أو رمز علامة في النظام العشري الثنائي.
بايت وثماني بتات
مصطلح بايت يعني في البداية "أصغر وحدة عنونة في الذاكرة". في الماضي ، تم استخدام جميع البايتات 5 و 6 و 7 و 8 و 9 بت. كانت هناك أيضًا أجهزة كمبيوتر يمكنها معالجة وحدات البت الفردية ("آلة موجهة بت") ، أو يمكنها معالجة كميات 16 أو 32 بت فقط ("آلة موجهة بالكلمات"). لم يتم استخدام مصطلح بايت في العادة على الإطلاق فيما يتعلق بآلات معالجة البت والكلمات.
يشير مصطلح الثماني دائمًا إلى كمية 8 بت. يتم استخدامه في الغالب في مجال شبكات الكمبيوتر ، حيث قد تضطر أجهزة الكمبيوتر ذات عروض البايت المختلفة إلى الاتصال.
في الاستخدام الحديث ، تعني البايت بشكل ثابت تقريبًا ثمانية بتات ، نظرًا لأن جميع الأحجام الأخرى قد أصبحت غير صالحة ؛ وهكذا أصبح البايت مرادفًا للثمانية .
كلمات
يستخدم مصطلح "كلمة" لمجموعة صغيرة من وحدات البت التي يتم التعامل معها في وقت واحد بواسطة معالجات بنية معينة . وبالتالي فإن حجم الكلمة خاص بوحدة المعالجة المركزية. تم استخدام العديد من أحجام الكلمات المختلفة ، بما في ذلك 6 و 8 و 12 و 16 و 18 و 24 و 32 و 36 و 39 و 40 و 48 و 60 و 64 بت. نظرًا لأنه معماري ، يتم تحديد حجم الكلمة عادةً بواسطة وحدة المعالجة المركزية الأولى في العائلة ، بدلاً من خصائص وحدة المعالجة المركزية المتوافقة لاحقًا. معاني المصطلحات المشتقة من الكلمة ، مثل longword و doubleword و quadword و halfword ، تختلف أيضًا باختلاف وحدة المعالجة المركزية ونظام التشغيل. [6]
عمليا جميع معالجات سطح المكتب الجديدة قادرة على استخدام كلمات 64 بت ، على الرغم من أن المعالجات المضمنة ذات حجم الكلمات 8 و 16 بت لا تزال شائعة. كان طول الكلمة 36 بت شائعًا في الأيام الأولى لأجهزة الكمبيوتر.
أحد الأسباب المهمة لعدم إمكانية نقل البرنامج هو الافتراض غير الصحيح بأن جميع أجهزة الكمبيوتر لها نفس حجم الكلمات مثل الكمبيوتر الذي يستخدمه المبرمج. على سبيل المثال ، إذا أعلن مبرمج يستخدم لغة C بشكل غير صحيح أنه int متغير سيتم استخدامه لتخزين قيم أكبر من 2 15 1 ، فسيفشل البرنامج على أجهزة الكمبيوتر ذات الأعداد الصحيحة 16 بت. كان يجب الإعلان عن هذا المتغير على أنه طويل ، والذي يحتوي على 32 بت على الأقل على أي جهاز كمبيوتر. قد يفترض المبرمجون أيضًا بشكل غير صحيح أنه يمكن تحويل المؤشر إلى عدد صحيح دون فقد المعلومات ، والذي قد يعمل على (بعض) أجهزة الكمبيوتر 32 بت ، ولكنه يفشل على أجهزة الكمبيوتر 64 بت ذات مؤشرات 64 بت وأعداد صحيحة 32 بت. تم حل هذه المشكلة عن طريق C99 في stdint.h في شكلintptr_t
.
عدد صحيح قصير
يمكن أن يمثل العدد الصحيح القصير عددًا صحيحًا قد يستغرق مساحة تخزين أقل ، مع وجود نطاق أصغر ، مقارنةً بعدد صحيح قياسي على نفس الجهاز.
في C ، يُشار إليها باختصار . يجب أن يكون على الأقل 16 بت ، وغالبًا ما يكون أصغر من عدد صحيح قياسي ، لكن هذا ليس مطلوبًا. [7] [8] يمكن أن يفترض البرنامج المطابق أنه يمكنه تخزين القيم بأمان بين - (2 15 −1) [9] و 2 15 −1 ، [10] ولكن قد لا يفترض أن النطاق ليس أكبر. في Java ، يكون الاختصار دائمًا عددًا صحيحًا من 16 بت. في واجهة برمجة تطبيقات Windows ، يُعرَّف نوع البيانات SHORT على أنه عدد صحيح مُوقَّع 16 بت على جميع الأجهزة. [6]
لغة برمجة | اسم نوع البيانات | التوقيع | الحجم بالبايت | الحد الأدنى للقيمة | القيمة القصوى |
---|---|---|---|---|---|
C و C ++ | قصيرة | وقعت | 2 | −32767 [ب] | +32767 |
قصير بدون توقيع | غير موقعة | 2 | 0 | 65.535 | |
سي # | قصيرة | وقعت | 2 | 32768 | +32767 |
قريب | غير موقعة | 2 | 0 | 65.535 | |
جافا | قصيرة | وقعت | 2 | 32768 | +32767 |
عدد صحيح طويل
يمكن أن يمثل العدد الصحيح الطويل عددًا صحيحًا كاملًا يكون مداها أكبر من أو يساوي عددًا صحيحًا قياسيًا على نفس الجهاز.
في C ، يُشار إليها بالطول . يجب أن يكون 32 بت على الأقل ، وقد يكون أو لا يكون أكبر من عدد صحيح قياسي. يمكن أن يفترض البرنامج المطابق أنه يمكنه تخزين القيم بأمان بين - (2 31 −1) [9] و 2 31 −1 ، [10] ولكنه قد لا يفترض أن النطاق ليس أكبر.
لغة برمجة | نوع الموافقة | المنصات | اسم نوع البيانات | التخزين بالبايت | نطاق التوقيع | نطاق غير موقّع |
---|---|---|---|---|---|---|
C ISO / ANSI C99.0 | المعيار الدولي | Unix ، أنظمة 16/32 بت [6] Windows ، أنظمة 16/32/64 بت [6] |
طويل [ز] | 4 (الحد الأدنى من المتطلبات 4) |
−2،147،483،647 إلى +2،147،483،647 | 0 إلى 4،294،967،295 (الحد الأدنى من المتطلبات) |
C ISO / ANSI C99.0 | المعيار الدولي | أنظمة يونكس 64 بت [6] [ 8] |
طويل [ز] | 8 (الحد الأدنى من المتطلبات 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 | المعيار الدولي | يونكس ، ويندوز ، نظام 16/32 بت |
طويل [ز] | 4 [12] (الحد الأدنى من المتطلبات 4) |
−2،147،483،648 إلى +2،147،483،647 |
0 إلى 4،294،967،295 (الحد الأدنى من المتطلبات) |
C ++ / CLI | المعيار الدولي ECMA-372 |
Unix ، Windows ، أنظمة 16/32 بت |
طويل [ز] | 4 [13] (الحد الأدنى من المتطلبات 4) |
−2،147،483،648 إلى +2،147،483،647 |
0 إلى 4،294،967،295 (الحد الأدنى من المتطلبات) |
VB | معيار الشركة | شبابيك | طويل | 4 [14] | −2،147،483،648 إلى +2،147،483،647 | غير متاح |
VBA | معيار الشركة | نظام التشغيل Windows و Mac OS X | طويل | 4 [15] | −2،147،483،648 إلى +2،147،483،647 | غير متاح |
خادم قاعدة البيانات | معيار الشركة | شبابيك | 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 الدولي | مايكروسوفت دوت نت | طويل أو Int64 | 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 | غير متاح |
باسكال | ؟ | ويندوز ، يونيكس | int64 | 8 | −9،223،372،036،854،775،808 إلى +9،223،372،036،854،775،807 | 0 إلى 18،446،744،073،709،551،615 (نوع الكلمة) |
طويل طويل
في الإصدار C99 من لغة البرمجة C والإصدار C ++ 11 من C ++ ، long long
يتم دعم النوع الذي يحتوي على ضعف السعة الدنيا للمعيار long
. هذا النوع غير مدعوم من قبل المترجمات التي تتطلب كود C ليكون متوافقًا مع معيار C ++ السابق ، C ++ 03 ، لأن النوع الطويل الطويل لم يكن موجودًا في C ++ 03. بالنسبة للمترجم المتوافق مع ANSI / ISO ، يجب أن يكون الحد الأدنى من المتطلبات للنطاقات المحددة - (2 63 1) [9] إلى 2 63 1 للتوقيع ومن 0 إلى 2 64 −1 لغير الموقعة ، [10] تتحقق؛ ومع ذلك ، يُسمح بتوسيع هذا النطاق. [16][17] يمكن أن يكون هذا مشكلة عند تبادل التعليمات البرمجية والبيانات بين الأنظمة الأساسية ، أو القيام بوصول مباشر إلى الأجهزة. وبالتالي ، هناك عدة مجموعات من الرؤوس توفر أنواع عرض دقيقة مستقلة للمنصة. توفرC القياسية stdint.h ؛ تم تقديم هذا في C99 و C ++ 11.
بناء الجملة
يمكن كتابة الأرقام الحرفية للأعداد الصحيحة كأرقام عربية عادية ، تتكون من سلسلة من الأرقام مع الإشارة إلى النفي بعلامة ناقص قبل القيمة. ومع ذلك ، فإن معظم لغات البرمجة لا تسمح باستخدام الفواصل أو المسافات لتجميع الأرقام . أمثلة على القيم الحرفية الصحيحة هي:
42
10000
-233000
هناك عدة طرق بديلة لكتابة أعداد صحيحة في العديد من لغات البرمجة:
- معظم لغات البرمجة ، خاصة تلك المتأثرة بـ C ، تسبق عددًا حرفيًا صحيحًا مع
0X
أو0x
لتمثيل قيمة سداسية عشرية0xDEADBEEF
، على سبيل المثال . قد تستخدم لغات أخرى تدوينًا مختلفًا ، على سبيل المثال ، تُلحق بعض لغات التجميع قيمة سداسية عشريةH
أوh
بنهايتها. - تسمح Perl و Ruby و Java و Julia و D و Rust و Python (بدءًا من الإصدار 3.6) بالشرطات السفلية المضمنة من أجل الوضوح ، على سبيل المثال ، وتتجاهل Fortran
10_000_000
ذات الشكل الثابت المسافات المضمنة في أعداد حرفية صحيحة. - في C و C ++ ، يشير الصفر البادئ إلى قيمة ثماني
0755
، على سبيل المثال . كان الغرض الأساسي من هذا هو استخدامه مع أوضاع Unix ؛ ومع ذلك ، فقد تم انتقاده لأن الأعداد الصحيحة العادية قد تؤدي أيضًا إلى الصفر. [18] على هذا النحو ، فإن القيم الثماني لبادئة Python و Ruby و Haskell و OCaml0O
مع أو0o
بعد التخطيط المستخدم بواسطة القيم السداسية العشرية. - يمكن للعديد من اللغات ، بما في ذلك Java و C # و Scala و Python و Ruby و OCaml ، تمثيل القيم الثنائية عن طريق إضافة رقم إلى
0B
أو0b
.
انظر أيضا
ملاحظات
- ^ لا تحتوي كل لهجات SQL على أنواع بيانات غير موقعة. [3] [4]
- ^ a b c d e f g h i j k l m n تعتمد أحجام char و short و int و long و long long في C / C ++ على تنفيذ اللغة.
- ^ لا تدعم Java الحساب مباشرة علىأنواع الحرف . يجب إعادة النتائج إلى حرف من int .
- ^ a b أحجام Delphi Integer و Cardinal غير مضمونة ، حيث تختلف من منصة إلى أخرى ؛ عادة ما يتم تعريفه على أنه LongInt و LongWord على التوالي.
- ^ أ ب محجوزة للاستخدام في المستقبل. لم تنفذ حتى الآن.
- ^ يسمح معيار ISO C لعمليات التنفيذ بحجز القيمة مع بت الإشارة 1 وجميع البتات الأخرى 0 (بالنسبة إلى حجم الإشارة وتمثيل مكملين اثنين) أو مع جميع البتات 1 (لتكملة تلك) لاستخدامها كقيمة "ملائمة" ، تستخدم للإشارة (على سبيل المثال) إلى تجاوز. [9]
- ^ a b c d المصطلحان long و int متكافئان [ 11]
المراجع
- ^ شيفر ، إريك. "تمثيل الأرقام" . كلية سوارثمور . تم الاسترجاع 2011-09-11 .
- ^ مادهوسودان كوندا (2 سبتمبر 2011). "نظرة على ميزات Java 7 الجديدة - O'Reilly Radar" . Radar.oreilly.com . تم الاسترجاع 15 أكتوبر 2013 .
- ^ "Sybase Adaptive Server Enterprise 15.5: أنواع البيانات الرقمية المطابقة" .
- ^ "أنواع البيانات الرقمية MySQL 5.6" .
- ^ "BigInteger (Java Platform SE 6)" . أوراكل . تم الاسترجاع 2011-09-11 .
- ^ a b c d e Fog ، Agner (2010-02-16). "اصطلاحات استدعاء برامج التحويل البرمجي وأنظمة تشغيل C ++ المختلفة: الفصل 3 ، تمثيل البيانات" (PDF) . تم الاسترجاع 2010-08-30 .
- ^ جيجير ، إريك (18 ديسمبر 1987). "معيار ANSI: ملخص للمبرمج سي" . تم الاسترجاع 2010-09-04 .
- ^ أ ب مايرز ، راندي (2000-12-01). "الجديد C: عدد صحيح في C99 ، الجزء 1" . drdobbs.com . تم الاسترجاع 2010-09-04 .
- ^ أ ب ج د "ISO / IEC 9899: 201x" (PDF) . open-std.org. القسم 6.2.6.2 ، الفقرة 2 . تم الاسترجاع 2016/06/20 .
- ^ أ ب ج "ISO / IEC 9899: 201x" (PDF) . open-std.org. القسم 5.2.4.2.1 . تم الاسترجاع 2016/06/20 .
- ^ "ISO / IEC 9899: 201x" (PDF) . open-std.org . تم الاسترجاع 2013/03/27 .
- ^ "الأنواع الأساسية في C ++" . cppreference.com . تم الاسترجاع 5 ديسمبر 2010 .
- ^ "الفصل 8.6.2 في الصفحة 12" (PDF) . ecma-international.org.
- ^ ملف تعليمات VB 6.0
- ^ "أنواع البيانات الصحيحة والطويلة والبايت (VBA)" . microsoft.com . تم الاسترجاع 2006-12-19 .
- ^ جيجير ، إريك (18 ديسمبر 1987). "معيار ANSI: ملخص للمبرمج سي" . تم الاسترجاع 2010-09-04 .
- ^ "تحدد لغة البرمجة القياسية الأمريكية الوطنية C بناء الجملة ودلالات البرامج المكتوبة بلغة البرمجة C" . مؤرشفة من الأصلي في 22 أغسطس 2010 . تم الاسترجاع 2010-09-04 .
- ^ مسودة الإصدار السادس من ECMAScript: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-numeric-literals أرشفة 2013-12-16 في آلة Wayback .