فاصلة عائمة

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
Arwikify.svg يرجى إعادة صياغة هذه المقالة باستخدام التنسيق العام لويكيبيديا، مثل إضافة الوصلات والتقسيم إلى الفقرات وأقسام بعناوين. (مارس 2009)

من المعلوم أن المعالج يتعامل مع الأرقام المؤشرة و غير المؤشرة، وإضافة إلى ذلك فإنه يتعامل مع الأرقام الكسرية والتي تعرفها الرياضيات على أنها الأرقام الحقيقية Real.

مثلاً لدينا الأرقام التالية: 3.14159265، 2.71828، 33.155760000

نلاحظ هنا أن الرقم الأخير يمتلك قيمة كبيرة جداً لدرجة يصعب فيهأعلى المعالج تمثيله لهذا الرقم وكذلك تطبيق العمليات الحسابية عليه لذلك تم البحث عن حل يحقق:

  • إمكانية تمثيل الأعداد الكبيرة جداً.
  • توسيع مجال التمثيل في الاتجاهين الموجب والسالب.

ومن هنا ظهر مبدأ الفاصلة العائمة.

تمثيل الأرقام بطريقة الفاصلة العائمة[عدل]

أسلوب خاص لتمثيل الأرقام الكسرية حيث يكتب فيها الرقم بشكل كسر وأس وإشارة لكل منهم مكانه المخصص.

حيث أن خانة الإشارة تأخذ القيمة / 0 / إذا كان العدد الممثل موجباً، وتأخذ القيمة / 1 / إذا كان العدد الممثل سالب.

وقد توخى مصمموا الفاصلة العائمة تحقيق موازنة بين اهتمامهم بتوسيع مجال التمثيل وتحقيق دقة أعلى في التمثيل، وبناء على ذلك اعتمدت IEEEالأنماط التالية لتمثيل الأعداد بطريقة الفاصلة العائمة ليصبح بعدها بالإمكان تحقيق العمليات على الفاصلة العائمة، وهذه الأنماط هي :

• النمط أحادي الدقة.

• النمط مضاعف الدقة.

• النمط مضاعف الدقة الموسعة.

أنماط التمثيل[عدل]

1- النمط أحادي الدقة[عدل]

وفيه يحجز الرقم 32 خانة موزعة على النحو التالي :

2- النمط مضاعف الدقة[عدل]

وفيه يحجز الرقم 64 خانة موزعة على النحو التالي :

نلاحظ مما سبق أنه :

• زيادة عدد خانات القوة يؤدي إلى توسيع المجال بالاتجاهين الموجب والسالب.

• زيادة عدد خانات الكسر يؤدي إلى زيادة الدقة.

3- النمط مضاعف الدقة الموسعة[عدل]

تحتوي معالجات إنتل الحديثة (ابتداء من 486 فما فوق) على وحدة فاصلة عائمة متطورة تؤمن القدرة على معالجة الأرقام ذات الفاصلة العائمة بكفاءة عالية.

تتألف هذه الوحدة من ثمانية مسجلات معطيات منظمة على شكل مكدس بالإضافة إلى مسجلات خاصة هي: مسجل الحالة ومسجل التحكم ومسجل الإشارات ومسجل مؤشر التعليمة الأخيرة ومسجل مؤشر المعطيات الأخيرة ومسجل شيفرة التعليمة.

تتألف مسجلات المعطيات من 80 بت، تخزن المعطيات في هذه المسجلات بتنسيق الفاصلة العائمة ذو الدقة المضاعفة الموسعة تكون موزعة على النحو التالي :

عندما يحمل عدد ذو فاصلة عائمة أو صحيح أو بتنسيق BCD من الذاكرة إلى أحد هذه المسجلات فإنه يحول تلقائياً إلى تنسيق الدقة المضاعفة الموسع، وعند تخزين النتائج إلى الذاكرة يمكن تخزينها بهذا التنسيق أو بتنسيق فاصلة عائمة أقصر أو كرقم صحيح أو بتنسيق BCD ويستخدم تنسيق IEEE754 من أجل تمثيل أرقام الفاصلة العائمة.

يتم التعامل مع هذه المسجلات الثمانية بطريقتين إما بشكل منفصل حيث ترقم هذه المسجلات من 0 وحتى 7، أو بشكل مكدس حيث يحتفظ الحقل TOP في مسجل الحالة برقم يشير إلى قمة المكدس.

لذلك يوجد لكل تعليمة عدة أشكال يتعامل كل شكل مع المسجلات بطريقة مختلفة ما عدا بعض التعليمات تتعامل مع المسجل فقط بطريقة المكدس مثل تعليمة الجذر التربيعي.

يرمز للمسجلات بـ (St(i حيث تدل i على رقم المسجل بالنسبة إلى قمة المكدس، أما قمة المكدس فيشار إليها بـ (St(0 أو St.

كما تملك هذه الوحدة عدداً من التعليمات صنفت ضمن ثلاث مجموعات :

• تعليمات نقل المعطيات.

• تعليمات تحميل الثوابت.

• التعليمات الحسابية البسيطة.

• التعليمات المثلثية واللوغاريتمية.

خوارزمية التمثيل[عدل]

1- تحويل العدد من النظام العشري إلى النظام الثنائي :

الأعداد الصحيحة يتم تحويلها بالقسمة على 2 وأخذ الباقي، أما القسم الكسري (على يمين الفاصلة) فنضربه بـ 2.

مثال: تحويل الرقم 25.875 يتم على النحو التالي :

أ‌- تحويل القسم الصحيح:

ب- تحويل القسم الكسري :

0.875 × 2 = 1.75، 1

0.75 × 2 = 1.5، 1

0.5 × 2 = 1، 1

إذاً الناتج هو :

                    25.875 =  11001.111

2- كتابة الرقم بالشكل القياسي - - -.1 × 2^e أي يكتب الرقم السابق كما يلي : 1.1001111 ×2^4

3- كتابة القوة باستخدام طريقة القوة المزاحة حيث يضاف إلى e القيمة 127 في حال استخدام التمثيل أحادي الدقة أو نضيف 1023 في حال استخدام التمثيل مضاعف الدقة.

وبالعودة إلى مثالنا وباستخدامنا للتمثيل أحادي الدقة يكون :

4 = e ومنه يكون 131 = eb أي 10000011

4- كتابة العدد ممثلاُ بطريقة الفاصلة العائمة :

5- كتابة الناتج بالتمثيل الست عشري :

أما إذا أردنا تمثيل العدد السابق باستخدام التمثيل مضاعف الدقة فإنه بالعودة إلى البند / 3 / يكون :

4 = e ومنه يكون 1027 = eb أي 10000000011

مثال:

إذا كان لدينا العدد التالي ممثلاً بطريقة الفاصلة العائمة CF350000 فإنه لإيجاد المكافئ العشري له نتبع الخطوات التالية :

1- نلاحظ أن العدد المعطى مكون من ثمان أرقام كل منها يمثل بـ 4 خانات (8×4=32) ومنه نجد أن التمثيل المستخدم هو أحادي الدقة.

2- نكتب الخانات الأربعة الممثلة لكل خانة ستة عشرية أي :

• الإشارة = –

• الأس = 10011110 = eb أي 158 ومنه 31 = e

• العدد = 1.0110101

 =1 + 4/1 + 8/1 + 32/1 + 128/1
 = 1.4140625

مقالات ذات صلة[عدل]

المراجع[عدل]