الفرق بين المراجعتين لصفحة: «Arduino/integerconstants»

من موسوعة حسوب
أنشأ الصفحة ب'الأعداد الصحيحة الثابتة هي أعداد استعملت مباشرةً في الشيفرة مثل 123. افتراضيًّا، تعامل هذه ال...'
 
طلا ملخص تعديل
 
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
الأعداد الصحيحة الثابتة هي أعداد استعملت مباشرةً في الشيفرة مثل 123. افتراضيًّا، تعامل هذه الأعداد على أنَّها [[Arduino/int|أعداد صحيحة]] (integer) ولكن يمكن تحويلها إلى أنواع أخرى من الأعداد باستعمال أحد المبدلات (modifiers) مثل U أو L.
<noinclude>{{DISPLAYTITLE:الأعداد الصحيحة الثابتة في أردوينو}}</noinclude>
الأعداد الصحيحة الثابتة هي أعداد استعملت مباشرةً في الشيفرة مثل 123. افتراضيًّا، تعامل هذه الأعداد على أنَّها [[Arduino/int|أعداد صحيحة]] (integer) ولكن يمكن تحويلها إلى أنواع أخرى من الأعداد باستعمال أحد المبدلات (modifiers) مثل <code>U</code> أو <code>L</code>.


تعامل الأعداد الصحيحة على أنَّها أعدادٌ صحيحةٌ ذات الأساس 10 بشكل طبيعي دومًا (أي تمثَّل بالنظام العشري افتراضيًّا). مع ذلك، يمكن استعمال صيغ (أنظمة عد) أخرى لكتابة الأعداد، إذ سيختلف حينئذٍ أساس العدد.
تعامل الأعداد الصحيحة على أنَّها أعدادٌ صحيحةٌ أساسها العدد 10 بشكل طبيعي دومًا (أي تمثَّل بالنظام العشري افتراضيًّا). مع ذلك، يمكن استعمال صيغ (أنظمة عد) أخرى لكتابة الأعداد، إذ سيختلف حينئذٍ أساس العدد.
{| class="wikitable"
{| class="wikitable"
!الأساس
!الأساس
سطر 28: سطر 29:
|الأرقام والأحرف الصالحة مع هذا النظام هي من 0 إلى 9 ومن A إلى F (أو من a إلى f) فقط.
|الأرقام والأحرف الصالحة مع هذا النظام هي من 0 إلى 9 ومن A إلى F (أو من a إلى f) فقط.
|}
|}
 
==النظام العشري (الأساس 10)==
== النظام العشري (الأساس 10) ==
هذا النظام هو نظام العد الشائع بين البشر الذي يستعملونه دومًا في عمليات الحساب. تُعدُّ الأعداد المكتوبة في الشيفرة والغير مسبوقة بأي منسِّق (بادئة تحدِّد صيغة العدد) على أنَّها أعداد مكتوبة بالنظام العشري (أساسها 10).<syntaxhighlight lang="arduino">
هذا النظام هو نظام العد الشائع بين البشر الذي يستعملونه دومًا في عمليات الحساب. تُعدُّ الأعداد المكتوبة في الشيفرة والغير مسبوقة بأي منسِّق (بادئة) على أنَّها أعداد مكتوبة بالنظام العشري (أساسها 10).<syntaxhighlight lang="arduino">
n = 101;    // ((1 * 10^2) + (0 * 10^1) + 1) == 101
n = 101;    // ((1 * 10^2) + (0 * 10^1) + 1)


</syntaxhighlight>
</syntaxhighlight>
 
==النظام الثنائي (الأساس 2)==
== النظام الثنائي (الأساس 2) ==
تمثَّل القيم في هذا النظام بالرقمين 0 و 1 فقط.<syntaxhighlight lang="arduino">
تمثَّل القيم في هذا النظام بالرقمين 0 و 1 فقط.<syntaxhighlight lang="arduino">
n = B101;    // ((1 * 2^2) + (0 * 2^1) + 1 * 2^0) == 5 في النظام العشري
n = B101;    // ((1 * 2^2) + (0 * 2^1) + 1 * 2^0) == 5 في النظام العشري
سطر 43: سطر 42:


</syntaxhighlight>
</syntaxhighlight>
 
==النظام الثماني (الأساس 8)==
== النظام الثماني (الأساس 8) ==
الأرقام المستعملة في تمثيل القيم في هذا النظام هي من 0 إلى 7. تبدأ القيم المراد كتابتها وتمثيلها بهذا النظام بالمنسِّق 0 (صفر).<syntaxhighlight lang="arduino">
الأرقام المستعملة في تمثيل القيم في هذا النظام هي من 0 إلى 7. تبدأ القيم المراد كتابتها وتمثيلها بهذا النظام بالمنسِّق 0 (صفر).<syntaxhighlight lang="arduino">
n = 0101;    // ((1 * 8^2) + (0 * 8^1) + 1) == 65 في النظام العشري
n = 0101;    // ((1 * 8^2) + (0 * 8^1) + 1) == 65 في النظام العشري


</syntaxhighlight>يحتمل أن يحدث خطأ منطقي يصعب إيجاده في الشيفرة ناتجٌ عن بدء ثابتٍ بصفر بشكل غير مقصود؛ هذا الأمر يؤدي إلى تفسير المفسِّر لهذا الثابت على أنَّه قيمة ثمانية أثناء تصريف الشيفرة.
</syntaxhighlight>يُحتمَل أن يحدث خطأ منطقي يصعب إيجاده في الشيفرة ناتجٌ عن بدء ثابتٍ بصفر بشكل غير مقصود؛ هذا الأمر يؤدي إلى تفسير المفسِّر لهذا الثابت على أنَّه قيمة ثمانية أثناء تصريف الشيفرة.
 
==النظام الست عشري (الأساس 16)==
== النظام الست عشري (الأساس 16) ==
الأرقام والمحارف المستعملة في تمثيل القيم في هذا النظام هي من 0 إلى 9 ومن A إلى F. في الحقيقة، القيمة العشرية للحرف A هي 10، والحرف B هي 11 وهكذا حتى الحرف F الذي قيمته 15. تبدأ القيم المراد تمثيلها وكتابتها في النظام الست عشري بالبادئة 0x. انتبه إلى أنَّه يمكن استعمال الحروف A-F بالحالة الكبيرة أو الصغيرة (a-f).<syntaxhighlight lang="arduino">
الأرقام والمحارف المستعملة في تمثيل القيم في هذا النظام هي من 0 إلى 9 ومن A إلى F. في الحقيقة، القيمة العشرية للحرف A هي 10، والحرف B هي 11 وهكذا حتى الحرف F الذي قيمته 15. تبدأ القيم المراد تمثيلها وكتابتها في النظام الست عشري بالبادئة 0x. انتبه إلى أنَّه يمكن استعمال الحروف A-F بالحالة الكبيرة أو الصغيرة (a-f).<syntaxhighlight lang="arduino">
n = 0x101;  // ((1 * 16^2) + (0 * 16^1) + 1) == 257 في النظام العشري
n = 0x101;  // ((1 * 16^2) + (0 * 16^1) + 1) == 257 في النظام العشري


</syntaxhighlight>
</syntaxhighlight>
==ملاحظات وتحذيرات==
===المبدلان <code>U</code> و <code>L</code>===
افتراضيًّا، يعامل العدد الصحيح الثابت على أنَّه من النوع «<nowiki/>[[Arduino/int|عدد صحيح]]» الذي يملك حجمًا محدودًا غير كافٍ في بعض الحالات. لتغيير هذا النوع إلى نوع آخر من البيانات، يمكنك استعمال أحد المبدلين <code>U</code> أو <code>L</code> بالشكل التالي:
*<code>'u'</code> أو <code>'U'</code>: يُستعمَل هذا المبدل في نهاية الثابت العددي لتحويله إلى النوع «<nowiki/>[[Arduino/unsignedint|عديم الإشارة]]» (unsigned) مثل 33u.
*<code>'l'</code> أو <code>'L'</code>: يُستعمَل هذا المبدل في نهاية الثابت العددي لتحويله إلى النوع «<nowiki/>[[Arduino/long|عدد طويل]]» مثل 100000L.
*<code>'ul'</code> أو <code>'UL'</code>: يُستعمَل المبدلان معًا في نهاية الثابت العددي لتحويله إلى النوع «<nowiki/>[[Arduino/unsignedlong|عدد طويل عديم الإشارة]]» مثل 32767ul.
==انظر أيضًا==
* [[Arduino/floatingpointconstants|الأعداد الثابتة ذات الفاصلة العشرية.]]
* [[Arduino/constants|الثوابت في أردوينو.]]


== ملاحظات وتحذيرات ==
==مصادر==
 
*[https://www.arduino.cc/reference/en/language/variables/constants/integerconstants/ صفحة Integer Constants في توثيق أردوينو الرسمي.]
=== المبدلان U و L ===
[[تصنيف: Arduino]]
افتراضيًّا، يعامل العدد الصحيح الثابت على أنَّه من النوع «<nowiki/>[[Arduino/int|عدد صحيح]]» الذي يملك حجمًا محدودًا قد يكون غير كافٍ. لتغيير هذا النوع إلى نوع آخر من البيانات، يمكنك استعمال أحد المبدلات U أو L بالشكل التالي:
[[تصنيف: Arduino Constants & Variables]]
* 'u' أو 'U': يُستعمَل هذا المبدل في نهاية الثابت العددي لتحويله إلى النوع «<nowiki/>[[Arduino/unsignedint|عديم الإشارة]]» (unsigned) مثل 33u.
* 'l' أو 'L': يُستعمَل هذا المبدل في نهاية الثابت العددي لتحويله إلى النوع «<nowiki/>[[Arduino/long|عدد طويل]]» مثل 100000L.
* 'ul' أو 'UL': يُستعمَل المبدلان معًا في نهاية الثابت العددي لتحويله إلى النوع «<nowiki/>[[Arduino/unsignedlong|عدد طويل عديم الإشارة]]» مثل 32767ul.
 
== انظر أيضًا ==
 
== مصادر ==
* [https://www.arduino.cc/reference/en/language/variables/constants/integerconstants/ صفحة Integer Constants في توثيق أردوينو الرسمي.]

المراجعة الحالية بتاريخ 13:53، 1 نوفمبر 2018

الأعداد الصحيحة الثابتة هي أعداد استعملت مباشرةً في الشيفرة مثل 123. افتراضيًّا، تعامل هذه الأعداد على أنَّها أعداد صحيحة (integer) ولكن يمكن تحويلها إلى أنواع أخرى من الأعداد باستعمال أحد المبدلات (modifiers) مثل U أو L.

تعامل الأعداد الصحيحة على أنَّها أعدادٌ صحيحةٌ أساسها العدد 10 بشكل طبيعي دومًا (أي تمثَّل بالنظام العشري افتراضيًّا). مع ذلك، يمكن استعمال صيغ (أنظمة عد) أخرى لكتابة الأعداد، إذ سيختلف حينئذٍ أساس العدد.

الأساس مثال المنسِّق ملاحظات
10 (نظام عشري) 123 لا يوجد
2 (نظام ثنائي) B1111011 يُبدَأ العدد بالحرف B. يعمل مع القيم التي بحجم 8 بت فقط (0 إلى 255). يُستعمَل الرقمان 0 و 1 في هذا النظام فقط.
8 (نظام ثماني) 0173 يُبدَأ العدد بالرقم 0. الأرقام الصالحة مع هذا النظام هي من 0 إلى 7 فقط.
16 (نظام ست عشري) 0x7B يُبدَأ العدد بالرمز 0x. الأرقام والأحرف الصالحة مع هذا النظام هي من 0 إلى 9 ومن A إلى F (أو من a إلى f) فقط.

النظام العشري (الأساس 10)

هذا النظام هو نظام العد الشائع بين البشر الذي يستعملونه دومًا في عمليات الحساب. تُعدُّ الأعداد المكتوبة في الشيفرة والغير مسبوقة بأي منسِّق (بادئة تحدِّد صيغة العدد) على أنَّها أعداد مكتوبة بالنظام العشري (أساسها 10).

n = 101;     // ((1 * 10^2) + (0 * 10^1) + 1) == 101

النظام الثنائي (الأساس 2)

تمثَّل القيم في هذا النظام بالرقمين 0 و 1 فقط.

n = B101;    // ((1 * 2^2) + (0 * 2^1) + 1 * 2^0) == 5 في النظام العشري

الصيغة الثنائية صالحة للاستعمال مع القيم التي بحجم بايت (8 بت) فقط؛ أي بين 0 (B0) و 255 (B11111111). إن كنت تريد استعمال الصيغة الثنائية مع قيم بحجم أكبر -مثل استعمالها مع الأعداد الصحيحة (16 بت)-، فيمكنك القيام بذلك عبر تنفيذ عملية بسيطة من خطوتين بالشكل التالي:

myInt = (B11001100 * 256) + B10101010;    // هي البايت العلوي B11001100 القيمة

النظام الثماني (الأساس 8)

الأرقام المستعملة في تمثيل القيم في هذا النظام هي من 0 إلى 7. تبدأ القيم المراد كتابتها وتمثيلها بهذا النظام بالمنسِّق 0 (صفر).

n = 0101;    // ((1 * 8^2) + (0 * 8^1) + 1) == 65 في النظام العشري

يُحتمَل أن يحدث خطأ منطقي يصعب إيجاده في الشيفرة ناتجٌ عن بدء ثابتٍ بصفر بشكل غير مقصود؛ هذا الأمر يؤدي إلى تفسير المفسِّر لهذا الثابت على أنَّه قيمة ثمانية أثناء تصريف الشيفرة.

النظام الست عشري (الأساس 16)

الأرقام والمحارف المستعملة في تمثيل القيم في هذا النظام هي من 0 إلى 9 ومن A إلى F. في الحقيقة، القيمة العشرية للحرف A هي 10، والحرف B هي 11 وهكذا حتى الحرف F الذي قيمته 15. تبدأ القيم المراد تمثيلها وكتابتها في النظام الست عشري بالبادئة 0x. انتبه إلى أنَّه يمكن استعمال الحروف A-F بالحالة الكبيرة أو الصغيرة (a-f).

n = 0x101;   // ((1 * 16^2) + (0 * 16^1) + 1) == 257 في النظام العشري

ملاحظات وتحذيرات

المبدلان U و L

افتراضيًّا، يعامل العدد الصحيح الثابت على أنَّه من النوع «عدد صحيح» الذي يملك حجمًا محدودًا غير كافٍ في بعض الحالات. لتغيير هذا النوع إلى نوع آخر من البيانات، يمكنك استعمال أحد المبدلين U أو L بالشكل التالي:

  • 'u' أو 'U': يُستعمَل هذا المبدل في نهاية الثابت العددي لتحويله إلى النوع «عديم الإشارة» (unsigned) مثل 33u.
  • 'l' أو 'L': يُستعمَل هذا المبدل في نهاية الثابت العددي لتحويله إلى النوع «عدد طويل» مثل 100000L.
  • 'ul' أو 'UL': يُستعمَل المبدلان معًا في نهاية الثابت العددي لتحويله إلى النوع «عدد طويل عديم الإشارة» مثل 32767ul.

انظر أيضًا

مصادر