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

من موسوعة حسوب
أنشأ الصفحة ب'يحجز النوع <code>char</code> بايتًا واحدًا من الذاكرة ويخزِّن فيه قيمة محرف. تُكتَب المحارف ضمن علام...'
 
إضافة محتويات الصفحة.
 
سطر 1: سطر 1:
يحجز النوع <code>char</code> بايتًا واحدًا من الذاكرة ويخزِّن فيه قيمة محرف. تُكتَب المحارف ضمن علامتي اقتباس فرديتين مثل 'A' (من أجل عدة محارف [سلسلة نصية]، استعمل علامة الاقتباس الزوجية مثل "ABC").
<noinclude>{{DISPLAYTITLE:النوع <code>char</code> في  أردوينو}}</noinclude>
يحجز النوع <code>char</code> بايتًا واحدًا من الذاكرة ويخزِّن فيه قيمة محرف. تُكتَب المحارف ضمن علامتي اقتباس فرديتين مثل 'A' (من أجل عدة محارف [[[Arduino/string|سلسلة نصية]]]، استعمل علامة الاقتباس الزوجية مثل "ABC").


تُخزَّن أرقامٌ في البايت المحجوز من أجل النوع <code>char</code> تمثِّل قيمة المحرف المقابل. يشار إلى تلك الأرقام بالترميز، والترميز المستعمل هنا هو الترميز ASCII. انتقل إلى [[Arduino/asciichart|هذه]] الصفحة للاطلاع على جميع المحارف والقيمة العددية المقابلة لكلٍّ منها. هذا يعني أنَّه من الممكن إجراء بعض العمليات الحسابية على المحارف التي يستعمل فيها القيمة ASCII (مثل تنفيذ العملية A' + 1' التي ستعطي القيمة 66 المقابلة للمحرف 'B'، إذ القيمة العددية للمحرف 'A' في الترميز ASCII هي 65). ألقٍ نظرة على توثيق الدالة <code>[[Arduino/serial/println|()Serial.println]]</code> لمزيد من المعلومات حول كيفية التبديل بين المحارف وقيمتها العددية.
تُخزَّن أرقامٌ في البايت المحجوز من أجل النوع <code>char</code> تمثِّل قيمة المحرف المقابل. يشار إلى تلك الأرقام بالترميز، والترميز المستعمل هنا هو [[Arduino/asciichart|الترميز ASCII]]. انتقل إلى توثيق [[Arduino/asciichart|الجدول ASCII]] للاطلاع على جميع المحارف والقيمة العددية المقابلة لكلٍّ منها. هذا يعني أنَّه من الممكن إجراء بعض العمليات الحسابية على المحارف التي يستعمل فيها القيمة [[Arduino/asciichart|ASCII]] (مثل تنفيذ العملية A' + 1' التي ستعطي القيمة 66 المقابلة للمحرف 'B'، إذ القيمة العددية للمحرف 'A' في الترميز [[Arduino/asciichart|ASCII]] هي 65). ألقٍ نظرة على توثيق الدالة <code>[[Arduino/serial/println|()Serial.println]]</code> لمزيد من المعلومات حول كيفية التبديل بين المحارف وقيمتها العددية.


النوع <code>char</code> هو نوعٌ له إشارة؛ هذا يعني أنَّ القيم العددية التي يمكن أن يأخذها تتراوح بين 128- و 127. إن أردت بايتًا واحدًا عديم الإشارة لتخزين بيانات فيه، فاستعمل النوع <code>[[Arduino/byte|byte]]</code>.
النوع <code>char</code> هو نوعٌ له إشارة؛ هذا يعني أنَّ القيم العددية التي يمكن أن يأخذها تتراوح بين 128- و 127. إن أردت بايتًا واحدًا عديم الإشارة لتخزين بيانات فيه، فاستعمل النوع <code>[[Arduino/byte|byte]]</code>.
 
==البنية العامة==
== البنية العامة ==
<syntaxhighlight lang="arduino">
<syntaxhighlight lang="arduino">
cahr var_name = 'character';
cahr var = 'character';
char var_name = Number; // ASCII القيمة العددية المقابلة للمحرف في الجدول
char var = Number;
</syntaxhighlight>
</syntaxhighlight>يمثِّل <code>var</code> اسم المتغير المراد التصريح عنه، ويمثِّل <code>character</code> المحرف المراد إسناده إلى هذا المتغير. يمكن استعمال رقم المحرف <code>Number</code> المقابل له في الترميز [[Arduino/asciichart|ASCII]] بدلًا من المحرف نفسه.


== أمثلة ==
==أمثلة==
مثالٌ على تعريف متغير من النوع <code>char</code>:<syntaxhighlight lang="arduino">
مثالٌ على تعريف متغير من النوع <code>char</code>:<syntaxhighlight lang="arduino">
char myChar = 'A';
char myChar = 'A';
char myChar = 65;      // كلاهما يمثِّلان المحرف نفسه
char myChar = 65;      // كلاهما يمثِّلان المحرف نفسه
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
* النوع <code>[[Arduino/array|array]]</code>: يمثِّل مصفوفة من المتغيرات الموضوعة في وعاء واحد والتي يمكن الوصول إليها والتعامل معها عبر رقم فهرس كلٍّ منها.
* النوع <code>[[Arduino/bool|bool]]</code>: يخزِّن المتغير الذي يصرَّح عنه بأنَّه من النوع [[Arduino/bool|<code>bool</code>]] إحدى القيمتين المنطقيَّتين التاليتين: <code>[[Arduino/constants#.D8.A7.D9.84.D8.AB.D8.A7.D8.A8.D8.AA true|true]]</code>، أو <code>[[Arduino/constants#.D8.A7.D9.84.D8.AB.D8.A7.D8.A8.D8.AA false|false]]</code> عبر حجز بايتٍ واحدٍ من الذاكرة فقط.
* النوع <code>[[Arduino/byte|byte]]</code>: يُخزِّن عددًا عديم الإشارة بحجم 8 بت؛ أي من القيمة 0 إلى القيمة 255.
* النوع <code>[[Arduino/double|double]]</code>: يحجز أربعة بايتات (32 بت) من الذاكرة فقط في لوحات أردوينو Uno (والتي تعتمد على متحكمات ATMega) أو ثمانية بايتات (64 بت) في اللوحات Due لتخزين عدد عشري فيها.
* النوع <code>[[Arduino/float|float]]</code>: يحجز أربعة بايتات (32 بت) من الذاكرة لتخزين عدد عشري فيها.
* النوع <code>[[Arduino/int|int]]</code>: يحجز حجمًا مقداره 16 بت (2 بايت) من الذاكرة في لوحات أردوينو Uno (والتي تعتمد على متحكمات ATMega)  أو 32 بت (4 بايت) في لوحات أردوينو Due (والتي تعتمد على متحكمات SAMD) لتخزين عدد صحيح فيه.
* النوع <code>[[Arduino/long|long]]</code>: يحجز حجمًا كبيرًا من الذاكرة مقداره 4 بايت يستعمل لتخزين الأعداد الصحيحة التي تتسم بأنَّها طويلة.
* النوع <code>[[Arduino/short|short]]</code>: يحجز في جميع لوحات أردوينو (التي تعتمد على المتحكمات ATMega و ARM) حجمًا من الذاكرة مقداره 16 بت (2 بايت) لتخزين عدد قصير فيه.
* النوع <code>[[Arduino/string|string]]</code>: يمثِّل سلسلةً نصيةً مؤلفةً من عدة محارف مرتبطة مع بعضها بعضًا. تُستعمَل مصفوفة من المحارف لتخزين هذا النوع من البيانات واستدعائها والتعامل معها لاحقًا.
* النوع <code>[[Arduino/unsignedchar|unsigned char]]</code>: يحجز حجمًا من الذاكرة مقداره 1 بايت فقط.
* النوع <code>[[Arduino/unsignedint|unsigned int]]</code>: يحجز حجمًا من الذاكرة مقداره 2 بايت في لوحات أردونيو Uno واللوحات التي تعتمد على متحكمات ATMega أو 4 بايت في لوحات أردوينو Due لتخزين عدد صحيح عديم الإشارة فيها.
* النوع <code>[[Arduino/unsignedlong|unsigned long]]</code>: يحجز حجمًا كبيرًا من الذاكرة مقداره 4 بايت يُستعمَل لتخزين الأعداد الصحيحة عديمة الإشارة التي تتسم بأنَّها طويلة.
* النوع <code>[[Arduino/word|word]]</code>: يُخزِّن أعدادًا عديم الإشارة بحجم 2 بايت.


== انظر أيضًا ==
==مصادر==
 
*[https://www.arduino.cc/reference/en/language/variables/data-types/char/ صفحة النوع char في توثيق أردوينو الرسمي.]
== مصادر ==
[[تصنيف: Arduino]]
* [https://www.arduino.cc/reference/en/language/variables/data-types/char/ صفحة النوع char في توثيق أردوينو الرسمي.]
[[تصنيف: Arduino Data Type]]

المراجعة الحالية بتاريخ 14:55، 26 أكتوبر 2018

يحجز النوع char بايتًا واحدًا من الذاكرة ويخزِّن فيه قيمة محرف. تُكتَب المحارف ضمن علامتي اقتباس فرديتين مثل 'A' (من أجل عدة محارف [[[Arduino/string|سلسلة نصية]]]، استعمل علامة الاقتباس الزوجية مثل "ABC").

تُخزَّن أرقامٌ في البايت المحجوز من أجل النوع char تمثِّل قيمة المحرف المقابل. يشار إلى تلك الأرقام بالترميز، والترميز المستعمل هنا هو الترميز ASCII. انتقل إلى توثيق الجدول ASCII للاطلاع على جميع المحارف والقيمة العددية المقابلة لكلٍّ منها. هذا يعني أنَّه من الممكن إجراء بعض العمليات الحسابية على المحارف التي يستعمل فيها القيمة ASCII (مثل تنفيذ العملية A' + 1' التي ستعطي القيمة 66 المقابلة للمحرف 'B'، إذ القيمة العددية للمحرف 'A' في الترميز ASCII هي 65). ألقٍ نظرة على توثيق الدالة ()Serial.println لمزيد من المعلومات حول كيفية التبديل بين المحارف وقيمتها العددية.

النوع char هو نوعٌ له إشارة؛ هذا يعني أنَّ القيم العددية التي يمكن أن يأخذها تتراوح بين 128- و 127. إن أردت بايتًا واحدًا عديم الإشارة لتخزين بيانات فيه، فاستعمل النوع byte.

البنية العامة

cahr var = 'character';
char var = Number;

يمثِّل var اسم المتغير المراد التصريح عنه، ويمثِّل character المحرف المراد إسناده إلى هذا المتغير. يمكن استعمال رقم المحرف Number المقابل له في الترميز ASCII بدلًا من المحرف نفسه.

أمثلة

مثالٌ على تعريف متغير من النوع char:

char myChar = 'A';
char myChar = 65;      // كلاهما يمثِّلان المحرف نفسه

انظر أيضًا

  • النوع array: يمثِّل مصفوفة من المتغيرات الموضوعة في وعاء واحد والتي يمكن الوصول إليها والتعامل معها عبر رقم فهرس كلٍّ منها.
  • النوع bool: يخزِّن المتغير الذي يصرَّح عنه بأنَّه من النوع bool إحدى القيمتين المنطقيَّتين التاليتين: true، أو false عبر حجز بايتٍ واحدٍ من الذاكرة فقط.
  • النوع byte: يُخزِّن عددًا عديم الإشارة بحجم 8 بت؛ أي من القيمة 0 إلى القيمة 255.
  • النوع double: يحجز أربعة بايتات (32 بت) من الذاكرة فقط في لوحات أردوينو Uno (والتي تعتمد على متحكمات ATMega) أو ثمانية بايتات (64 بت) في اللوحات Due لتخزين عدد عشري فيها.
  • النوع float: يحجز أربعة بايتات (32 بت) من الذاكرة لتخزين عدد عشري فيها.
  • النوع int: يحجز حجمًا مقداره 16 بت (2 بايت) من الذاكرة في لوحات أردوينو Uno (والتي تعتمد على متحكمات ATMega) أو 32 بت (4 بايت) في لوحات أردوينو Due (والتي تعتمد على متحكمات SAMD) لتخزين عدد صحيح فيه.
  • النوع long: يحجز حجمًا كبيرًا من الذاكرة مقداره 4 بايت يستعمل لتخزين الأعداد الصحيحة التي تتسم بأنَّها طويلة.
  • النوع short: يحجز في جميع لوحات أردوينو (التي تعتمد على المتحكمات ATMega و ARM) حجمًا من الذاكرة مقداره 16 بت (2 بايت) لتخزين عدد قصير فيه.
  • النوع string: يمثِّل سلسلةً نصيةً مؤلفةً من عدة محارف مرتبطة مع بعضها بعضًا. تُستعمَل مصفوفة من المحارف لتخزين هذا النوع من البيانات واستدعائها والتعامل معها لاحقًا.
  • النوع unsigned char: يحجز حجمًا من الذاكرة مقداره 1 بايت فقط.
  • النوع unsigned int: يحجز حجمًا من الذاكرة مقداره 2 بايت في لوحات أردونيو Uno واللوحات التي تعتمد على متحكمات ATMega أو 4 بايت في لوحات أردوينو Due لتخزين عدد صحيح عديم الإشارة فيها.
  • النوع unsigned long: يحجز حجمًا كبيرًا من الذاكرة مقداره 4 بايت يُستعمَل لتخزين الأعداد الصحيحة عديمة الإشارة التي تتسم بأنَّها طويلة.
  • النوع word: يُخزِّن أعدادًا عديم الإشارة بحجم 2 بايت.

مصادر