تنسيق أعداد الحاسب
تمثيل الكسور في النظام الثنائي > أعداد الفاصلة العائمة أو النقطة العائمة

في حين أن كلا من الأعداد بإشارة وبدون إشارة تُستخدم في أنظمة الأعداد، حتى عدد صحيح من 32-بت لا يكفي للتعامل مع كل مجموعات الأرقام التي يمكن للآلة الحاسبة التعامل معها، وهذا ليس فقط الكسور. لتقريب مجموعة أكبر وأكثر دقة من  الأرقام الحقيقية، يجب أن نتخلى عن نظام الأعداد الصحيحة بدون إشارة ونظام  النقطة ثابتة الأرقام، وننتقل إلى تنسيق «النقطة العائمة».
في النظام العشري، نحن على دراية بأرقام الفاصلة العائمة غلى صورة (الكتابة العلمية):
أو بشكل مضغوط أكثر:
وهو ما يعني العدد واحد «1.1030402  مرة تليها 5 أصفار». لدينا بعض القيمة الرقمية (1.1030402) المعروفة باسم «معامل»، مضروبا بقوة من 10 (E5, يعني 105 أو 100، 000)، والمعروفة باسم «الأس».
إذا كان لدينا أس سالب، فهذا يعني أن الرقم مضروب في 1 إلى عدة أماكن على يمين النقطة العشرية. على سبيل المثال:
ميزة هذا النظام هو أنه باستخدام الأس يمكننا الحصول على مجموعة أوسع بكثير من الأرقام، حتى لو كان عدد المعاملات كبير جدًا، أو «دقة الرقم» أصغر بكثير من النطاق. تنسيقات مماثلة للفاصلة العائمة الثنائية يمكن استخدامها لتعريف أجهزة الكمبيوتر. هناك عدد من هذه المخططات الأكثر شعبية تم تحديدها من قبل معهد مهندسي الكهرباء والإلكترونيات (IEEE). في IEEE 754-2008 ، تم تحديد المواصفات القياسية  ك 64 بت لتنسيق الفاصلة العائمة:
11-بت ثنائي للأس باستخدام تنسيق «فائض-1023». فائض-1023 يعني أن الأس يظهر كعدد ثنائي صحيح من غير إشارة من 0 إلى 2047; طرح 1023 يعطي القيمة الفعلية بإشارتها.
52-بت للمعاملات، أيضا عدد ثنائي صحيح من غير إشارة، يقوم بتحديد قيمة كسور مع 1 زائدة ضمنية.
1 بت للعلامة، لإعطاء علامة للعدد.
دعونا نرى كيف يبدو هذا التنسيق من خلال إظهار كيف يتم تخزين هذا العدد في 8 بايت من الذاكرة:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| البايت 0: | S | x10 | x9 | x8 | x7 | x6 | x5 | x4 |
| 1 بايت: | x3 | x2 | x1 | x0 | m51 | m50 | m49 | m48 |
| 2 بايت: | وm47 | m46 | m45 | m44 | m43 | m42 | m41 | m40 |
| بايت 3: | m39 | m38 | m37 | m36 | m35 | m34 | m33 | m32 |
| بايت 4: | m31 | m30 | m29 | m28 | m27 | m26 | m25 | m24 |
| بايت 5: | m23 | m22 | m21 | m20 | m19 | m18 | m17 | m16 |
| بايت 6: | m15 | m14 | m13 | m12 | m11 | m10 | m9 | m8 |
| بايت 7: | m7 | m6 | m5 | m4 | m3 | m2 | m1 | m0 |
حيث "S" يدل على البت المخصص للإشارة، "x" يدل على الأس، و "m" يدل على البتات التي تمثل المعاملات.عندما  يتم استخراج البتات، يتم تحويلها بهذه الحسابات:
هذا المخطط يوفر أرقام صحيحة إلى حوالي 15 من الأرقام العشرية التالية، بمجموعة مدى الأرقام التالية:
| الحد لأقصى | الحد الأدنى |  |
| --- | --- | --- |
| موجب | 1.797693134862231 E+308 | 4.940656458412465 E-324 |
| سالب | -4.940656458412465 E-324 | -1.797693134862231 E+308 |
هذه المواصفات تحدد أيضا عدد من القيم الخاصة الغير معرفة، وهي شائغة باسم NaNs ، «ليس عددا». وتستخدم هذه القيم في البرامج لتعيين العمليات الغير صالحة ومثل ذلك.
بعض البرامج أيضا تستخدم نظام 32 بت لأعداد الفاصلة العائمة. النظام الأكثر شيوعا يستخدم  23 بت للمعامل مع بت واحد للعلامة، إضافة إلى 8 بتات للأس في تنسيق «الفائض-127». مُعطى 7 خانات عشرية صحيحة.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| البايت 0: | S | x7 | x6 | x5 | x4 | x3 | x2 | x1 |
| 1 بايت: | x0 | m22 | m21 | m20 | m19 | m18 | m17 | m16 |
| 2 بايت: | m15 | m14 | m13 | m12 | m11 | m10 | m9 | m8 |
| بايت 3: | m7 | m6 | m5 | m4 | m3 | m2 | m1 | m0 |
يت تحويل البتات إلى قيمة عددية بهذه الحسابات:
مما يؤدي إلى المدى التالي من الأرقام:
| الحد الأقصى | الحد الأدنى |  |
| --- | --- | --- |
| موجب | 3.402823 E+38 | 2.802597 E-45 |
| سالب | -2.802597 E-45 | -3.402823 E+38 |
أرقام الفاصلة العائمة معروفة باسم  «حقيقية» أو «عائمة» بشكل عام، ولكن مع وجود عدد من الاختلافات:
أرقام الفاصلة العائمة 32 بت تُسمى أحيانا «حقيقية 32» أو «أحادي» بمعنى «قيمة أحادية الدقة وبنقطة عائمة».
رقام الفاصلة العائمة 64 بت تُسمى أحيانا «حقيقية 64» أو «مزدوجة»، بمعنى «قيمة مزدوجة الدقة وبنقطة عائمة».
يتم اختيار العلاقة بين الأرقام وأنماط البتات من أجل ملاءمة معالجة الحاسب؛ ثمانية بايت مخزنة في ذاكرة الكمبيوتر قد تمثل ب64 بت الحقيقي، أو باثنين 32 بت الحقيقي، أو أربعة من الأعداد الصحيحة بإشارة أو بغير إشارة، أو أي نوع آخر من البيانات التي تناسبها في ثمانية بايت. الفرق الوحيد هو كيف يفسر الكمبيوتر هذه الأنظمة. إذا خزن الكمبيوتر أربعة من الأعداد الصحيحة بغير إشارة ومن ثم قرأها مرة أخرى من الذاكرة ك64-بت الحقيقي، فسينتج عدد صالح تمامًا بشكل دائم  تقريبًا، على الرغم من أنه سيكون من البيانات غير المرغوب فيها (غير صحيح).
فقط مجموعة محدودة من الأرقام الحقيقية يمكن أن تكون ممثلة مع عدد معين من البتات. العمليات الحسابية يمكن أن تنزل عن الحد الأدنى أو تتجاوز الحد الأقصى، مما ينتج عنه قيمة كبيرة جدا أو صغيرة جدا لتمثيلها.
التمثيل محدود الدقة. على سبيل المثال، 15 خانة عشرية فقط يمكن أن تكون ممثلة مع 64 بت الحقيقي. إذا تمت إضافة عدد صغير جدا من تنسيق النقطة العائمة إلى كبير، النتيجة هي مجرد العدد الكبير. العدد الصغير كان صغيرًا جدًا لدرجة أنه لا يظهر في 15 أو 16 التنسيق، فيتجاهل الحاسب ذلك بشكل فعال. تحليل تأثير محدودية الدقة هو مشكلة مدروسة جيدًا. تقديرات حجم أخطاء التقريب ووضع أساليب للحد من تأثيرها على الحسابات الكبيرة هو جزء من أي مشروع حسابي كبير. محدودية الدقة تختلف عن محدودية المجال، لأنها تؤثر على المعامل، وليس الأس.
المعامل هو كسر في النظام الثنائي والذي ليس بالضرورة أن يتوافق تمامًا مع الكسر العشري. في كثير من الحالات، لا يتطابق مجموع القوى ل2 مع الكسر العشري المحدد، ونتائج العمليات الحسابية سيكون منزاحًا قليلًا. على سبيل المثال، الكسر العشري "0.1"  يعادل تكرار لا نهائي للكسر الثنائي: 0.000110011 ...