الفرق بين المراجعتين لصفحة: «Arduino/float»
جميل-بيلوني (نقاش | مساهمات) أنشأ الصفحة ب'يستعمل النوع <code>float</code> مع الأعداد العشرية، وهي الأعداد الكسرية التي تُستعمَل فاصلةٌ عشريَّ...' |
جميل-بيلوني (نقاش | مساهمات) إضافة محتويات الصفحة. |
||
سطر 1: | سطر 1: | ||
يستعمل النوع <code>float</code> مع الأعداد العشرية، وهي الأعداد الكسرية التي تُستعمَل فاصلةٌ عشريَّةٌ في تمثيلها. تُستعمَل الأعداد العشرية غالبًا لتقريب القيم التشابهية والمستمرة (continuous) | <noinclude>{{DISPLAYTITLE:النوع <code>float</code> في أردوينو}}</noinclude> | ||
يستعمل النوع <code>float</code> مع الأعداد العشرية، وهي الأعداد الكسرية التي تُستعمَل فاصلةٌ عشريَّةٌ في تمثيلها. تُستعمَل الأعداد العشرية غالبًا لتقريب القيم التشابهية والمستمرة (continuous) لأنَّها تملك دقة أكبر من تلك التي تملكها [[Arduino/int|الأعداد الصحيحة]]. يمكن أن تكون الأعداد العشرية كبيرة بكبر العدد 3.4028235E+38 وصغيرة بصغر العدد 3.4028235E+38-. يحجز النوع <code>float</code> أربعة بايتات (32 بت) من الذاكرة لتخزين عدد عشري فيها. | |||
تملك الأعداد العشرية التي من النوع <code>float</code> دقة صغيرة تصل إلى 6-7 منازل عشرية بعد الفاصلة. في لوحات أردوينو Uno واللوحات الأخرى التي تعتمد على المتحكمات ATMEGA، لا يوجد دقة أعلى من هذه الدقة عبر استعمال النوع <code>[[Arduino/double|double]]</code> (عدد عشري مضاعف)، إذ حجم هذا النوع مماثل تمامًا لحجم النوع <code>float</code>. أمَّا في اللوحات Due، | تملك الأعداد العشرية التي من النوع <code>float</code> دقة صغيرة تصل إلى 6-7 منازل عشرية بعد الفاصلة. في لوحات أردوينو Uno واللوحات الأخرى التي تعتمد على المتحكمات ATMEGA، لا يوجد دقة أعلى من هذه الدقة عبر استعمال النوع <code>[[Arduino/double|double]]</code> (عدد عشري مضاعف)، إذ حجم هذا النوع مماثل تمامًا لحجم النوع <code>float</code>. أمَّا في اللوحات Due، يوفِّر النوع <code>[[Arduino/double|double]]</code> دقة مضاعفة. | ||
إجراء عمليات حسابية على الأعداد العشرية أبطأ من بكثير من إجراء نفس العمليات على الأعداد الصحيحة، لذا يجب تَجنُّب استعمال الأعداد العشرية إذا كان التوقيت حرجًا لبعض الدوال ويُطلَب من [[Arduino/loop|الدالة التكرارية]] أن تكرر تنفيذ العمليات بأقصى سرعة وأقصر وقت ممكن. يتجنب المبرمجون عادةً تنفيذ عمليات حسابية على الأعداد العشرية ويحولون هذه العمليات ويتلاعبون بها لتُنفَّذ على الأعداد الصحيحة فقط من أجل زيادة سرعة البرنامج. | إجراء عمليات حسابية على الأعداد العشرية أبطأ من بكثير من إجراء نفس العمليات على الأعداد الصحيحة، لذا يجب تَجنُّب استعمال الأعداد العشرية إذا كان التوقيت حرجًا لبعض الدوال ويُطلَب من [[Arduino/loop|الدالة التكرارية]] أن تكرر تنفيذ العمليات بأقصى سرعة وأقصر وقت ممكن. يتجنب المبرمجون عادةً تنفيذ عمليات حسابية على الأعداد العشرية ويحولون هذه العمليات ويتلاعبون بها لتُنفَّذ على الأعداد الصحيحة فقط من أجل زيادة سرعة البرنامج. | ||
إن كان برنامجك يجري عمليات حسابية على الأعداد العشرية، فيجب أن تضيف لجميع الأعداد الثابتة المستعملة في هذه العمليات منازل عشرية بعد الفاصلة إن لم يكن لها (مثل 12.0)؛ إن لم تفعل ذلك (أي استعملت العدد 12 فقط)، فستُعامَل هذه الأعداد على أنَّها أعداد صحيحة. اطلع على صفحة [[Arduino/floatingpointconstants|الأعداد الثابتة ذات الفاصلة العشرية]] لمزيد من المعلومات. | إن كان برنامجك يجري عمليات حسابية على الأعداد العشرية، فيجب أن تضيف لجميع الأعداد الثابتة المستعملة في هذه العمليات منازل عشرية بعد الفاصلة إن لم يكن لها (مثل 12.0)؛ إن لم تفعل ذلك (أي استعملت العدد 12 فقط)، فستُعامَل هذه الأعداد على أنَّها أعداد صحيحة. اطلع على صفحة [[Arduino/floatingpointconstants|الأعداد الثابتة ذات الفاصلة العشرية]] لمزيد من المعلومات. | ||
==البنية العامة== | |||
== البنية العامة == | |||
<syntaxhighlight lang="arduino"> | <syntaxhighlight lang="arduino"> | ||
float | float var; | ||
float | float var = val; | ||
</syntaxhighlight> | </syntaxhighlight>يمثِّل <code>var</code> اسم المتغير المراد التصريح عنه، وتمثِّل <code>val</code> القيمة العددية العشرية المراد إسنادها إلى هذا المتغير. | ||
== أمثلة == | ==أمثلة== | ||
مثالٌ على تعريف متغير من النوع <code>float</code> وتنفيذ عملية حسابية عليه:<syntaxhighlight lang="arduino"> | مثالٌ على تعريف متغير من النوع <code>float</code> وتنفيذ عملية حسابية عليه:<syntaxhighlight lang="arduino"> | ||
float myfloat; | float myfloat; | ||
سطر 27: | سطر 27: | ||
</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/char|char]]</code>: يحجز بايتًا واحدًا من الذاكرة ويخزِّن فيه قيمة محرف. | |||
* النوع <code>[[Arduino/double|double]]</code>: يحجز أربعة بايتات (32 بت) من الذاكرة فقط في لوحات أردوينو Uno (والتي تعتمد على متحكمات ATMega) أو ثمانية بايتات (64 بت) في اللوحات Due لتخزين عدد عشري فيها. | |||
* النوع <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/float/ صفحة النوع float في توثيق أردوينو الرسمي.] | |||
== مصادر == | [[تصنيف: Arduino]] | ||
* [https://www.arduino.cc/reference/en/language/variables/data-types/float/ صفحة النوع float في توثيق أردوينو الرسمي.] | [[تصنيف: Arduino Data Type]] |
المراجعة الحالية بتاريخ 14:54، 26 أكتوبر 2018
يستعمل النوع float
مع الأعداد العشرية، وهي الأعداد الكسرية التي تُستعمَل فاصلةٌ عشريَّةٌ في تمثيلها. تُستعمَل الأعداد العشرية غالبًا لتقريب القيم التشابهية والمستمرة (continuous) لأنَّها تملك دقة أكبر من تلك التي تملكها الأعداد الصحيحة. يمكن أن تكون الأعداد العشرية كبيرة بكبر العدد 3.4028235E+38 وصغيرة بصغر العدد 3.4028235E+38-. يحجز النوع float
أربعة بايتات (32 بت) من الذاكرة لتخزين عدد عشري فيها.
تملك الأعداد العشرية التي من النوع float
دقة صغيرة تصل إلى 6-7 منازل عشرية بعد الفاصلة. في لوحات أردوينو Uno واللوحات الأخرى التي تعتمد على المتحكمات ATMEGA، لا يوجد دقة أعلى من هذه الدقة عبر استعمال النوع double
(عدد عشري مضاعف)، إذ حجم هذا النوع مماثل تمامًا لحجم النوع float
. أمَّا في اللوحات Due، يوفِّر النوع double
دقة مضاعفة.
إجراء عمليات حسابية على الأعداد العشرية أبطأ من بكثير من إجراء نفس العمليات على الأعداد الصحيحة، لذا يجب تَجنُّب استعمال الأعداد العشرية إذا كان التوقيت حرجًا لبعض الدوال ويُطلَب من الدالة التكرارية أن تكرر تنفيذ العمليات بأقصى سرعة وأقصر وقت ممكن. يتجنب المبرمجون عادةً تنفيذ عمليات حسابية على الأعداد العشرية ويحولون هذه العمليات ويتلاعبون بها لتُنفَّذ على الأعداد الصحيحة فقط من أجل زيادة سرعة البرنامج.
إن كان برنامجك يجري عمليات حسابية على الأعداد العشرية، فيجب أن تضيف لجميع الأعداد الثابتة المستعملة في هذه العمليات منازل عشرية بعد الفاصلة إن لم يكن لها (مثل 12.0)؛ إن لم تفعل ذلك (أي استعملت العدد 12 فقط)، فستُعامَل هذه الأعداد على أنَّها أعداد صحيحة. اطلع على صفحة الأعداد الثابتة ذات الفاصلة العشرية لمزيد من المعلومات.
البنية العامة
float var;
float var = val;
يمثِّل var
اسم المتغير المراد التصريح عنه، وتمثِّل val
القيمة العددية العشرية المراد إسنادها إلى هذا المتغير.
أمثلة
مثالٌ على تعريف متغير من النوع float
وتنفيذ عملية حسابية عليه:
float myfloat;
float sensorCalbrate = 1.117;
int x;
int y;
float z;
x = 1;
y = x / 2; // القيمة 0، لأنه لا يستطيع تخزين الأجزاء العشرية y سيحوي المتغير
z = (float)x / 2.0; // (القيمة 0.5 (انتبه للعدد 2.0 ولا تستعمل 2 فقط z سيحوي المتغير
انظر أيضًا
- النوع
array
: يمثِّل مصفوفة من المتغيرات الموضوعة في وعاء واحد والتي يمكن الوصول إليها والتعامل معها عبر رقم فهرس كلٍّ منها. - النوع
bool
: يخزِّن المتغير الذي يصرَّح عنه بأنَّه من النوعbool
إحدى القيمتين المنطقيَّتين التاليتين:true
، أوfalse
عبر حجز بايتٍ واحدٍ من الذاكرة فقط. - النوع
byte
: يُخزِّن عددًا عديم الإشارة بحجم 8 بت؛ أي من القيمة 0 إلى القيمة 255. - النوع
char
: يحجز بايتًا واحدًا من الذاكرة ويخزِّن فيه قيمة محرف. - النوع
double
: يحجز أربعة بايتات (32 بت) من الذاكرة فقط في لوحات أردوينو Uno (والتي تعتمد على متحكمات ATMega) أو ثمانية بايتات (64 بت) في اللوحات Due لتخزين عدد عشري فيها. - النوع
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 بايت.