الحساب في الحاسوب

من ويكي الهندسة المعلوماتية
اذهب إلى: تصفح، ابحث

تمثيل الأعداد في الحاسوب

لدينا عدة طرق لتمثيل الأعداد في الحاسوب .. لنتعرف إليها :

أولاً : تدوين الأعداد الصحيحة

الأعداد الموجبة

  • كل عدد يرمز على n بت
  • مجال الترميز : من 0 إلى
  • مثال : 13 = 00001101

تمثيل الأعداد بطريقة المطال والإشارة

هنالك عدة طرق أو اصطلاحات لتمثيل الاعداد الموجبة والسالبة تتضمن جميعها التعامل مع الMSB "أو بت أقصى اليسار.

في طريقة الإشارة والمقدار يؤخذ بت أقصى اليسار للدلالة على إشارة العدد أما البتات في أقصى اليمين فتحدد مقدار

العدد الصحيح .

+18=00010010

-18=10010010

و يمكن التعبير عن الحالة العامة كما يلي :

المساوئ :

  • عمليات الجمع والطرح يتطلبان مراعاة كل من إشارات الأعداد ومقاديرها النسبية
  • يوجد تمثيلان للصفر .

مجالها :

تمثيل الأعداد بالإتمام إلى اثنين

وهي الأكثر شيوعاً, نستخدم هنا ال mbs "بت أقصى اليسار" للتحقق من إشارة العدد فقط".

مجالها :

يوجد تمثيل واحد للصفر , يبقى عدد الأرقام التي يمكن تمثيلهاهو

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

نلاحظ أنه في حالة الأعداد الموجبة يكون ومنه

بالامعان بالشكل التالي : Cyrcls.png

نلاحظ أنه بالانطلاق من أي نقطة على الدائرة يمكن جمع عدد موجب أو طرح عدد سالب والإنتقال مع عقارب الساعة.

أو يمكن جمع عدد سالب وطرح عدد موجب بالإنتقال عكس عقارب الساعة.

وينتج جواب خاطئ إذا نتج عن عملية حسابية تجاوز لنقطة اتصال نقاط النهاية .

تدوين الأعداد بالفاصلة العائمة

هي الأعداد التي يعبر عنها بعدد " الجزء العشري " مضروباً بثابت "الأساس"

مرفوعاً إلى قوة ما " أس ". يمكن استخدام الأعداد ذات الفاصلة العائمة لتمثيل أعداد صغيرة جدا أو كبيرة جداً.

يمثل العدد بعد تحويله إلى الصيغة:

S × baseexp

حيث: S: الجزء الكسري من العدد، base: أساس نظام العد، exp: الأس الذي يجب رفع أساس نظام العد له حتى الحصول على العدد الأصلي.

تعاريف

الاستنظام

هو الكتابة بدون أصفار إلى يسار الفاصلة .

مثال : القيمة : 0.012 ، تكتب :

الدقة

عدد البتات التي سيُمثل عليها الجزء العشري.

الفجوة

الفرق بين قيمتين متتاليتين.

ملاحظة : هذه القيمة ليست ثابتة على كامل مجال الترميز. بل تتعلق بالـ exoponent

أي إن أخذنا مثلاً محور الأعداد الحقيقية .. لا نستطيع تمثيل جميع النقاط عليه .. مثلاً نأخذ عليه النقاط التالية :

0.125 و 0.15 و 2 مثلاً .. نلاحظ أن الأبعاد بين النقاط ليست ثابتة .

المجال range

المسافة الفاصلة بين القيمة الصغرى والقيمة الكبرى الممكن تمثيلهما. بين -M و +M مثلاً

الفيض overflow

يحدث الفيض إذا كانت القيمة كبيرة جداً بحيث لا يمكن تمثيلها بالتمثيل المعطى (وهذه القيمة قد تكون موجبة أو سالبة).

الغيض underflow

يظهر الغيض إذا كانت القيمة صغيرة جداً إلى حد لا يسمح بتمثيلها (وهذه القيمة قد تكون موجبة أو سالبة).

التدوير

تقريب أي عدد حقيقي إلى عدد يمكن تمثيله بالترميز المعطى. وقد يكون التدوير إلى الأعلى ( ceil ) أو إلى الأدنى ( floor ) أو بإهمال الأرقام بعد الفاصلة (طريقة البتر)( Truncation ) أو التدوير إلى الأقرب .

مثال :

إذا أردنا تمثيل الرقم : 1.010111 في ترميز معين فيه 4 بتات للجزء الأسي و4 بتات للجزء الكسري منها بت للإشارة، ما هي القيمة بعد التدوير إلى الأدنى، وإلى الأعلى، وإلى الأقرب.؟؟

  • التدوير إلى الأقرب : 1.011
  • التدوير إلى الأدنى : 1.010
  • التدوير إلى الأعلى : 1.011

قيم مميزة في مثال

ليكن لدينا التمثيل التالي للأعداد ذات الفاصلة العائمة :

4 بتات للجزء الكسري منها بت واحد للإشارة

4 بتات للأس

القيمة العظمى

علينا أن نأخذ أكبر قيمة للجزء الأسي أي +7 , وأكبر قيمة للجزء الكسري وهي بالثنائي = 111 فيكون العدد أي بالعشري =

القيمة الصغرى

وهي تساوي القيمة العظمى مضروبةً بإشارة سالبة أي

مجال الترميز

من -240 إلى +240 ويساوي 480

أصغر قيمة موجبة

بما أننا نريد أصغر قيمة أي سنقسم على أكبر عدد --> يجب أن نأخذ أصغر قيمة ممكنة للجزء الأسي أي -8 ، وبالنسبة للجزء الكسري سنأخذ أصغر قيمة وهي 000 ولكن لا نستطيع أخذ هذه القيمة في الجزء الكسري وذلك لأن بعض المعالجات تعتمد دلالات معينة --> سنأخذها 001 فيكون العدد :

أي 0.004394

أكبر قيمة سالبة

أي 0.004394-

قيم خاصة

  • القيمة 0 : جميع البتات القيمة 0 .
  • قيمة اللانهاية : بتات الجزء الكسري القيمة 0 ، وبتات الأس القيمة 1 ، وبت الإشارة القيمة 1 أو 0 .
  • قيمة عدم التعيين ( NaN ) : بتات الجزء الكسري قيمة تختلف عن الصفر 0 ، وبتات الأس القيمة 1 ، وبت الإشارة القيمة 1 أو 0 .


معيار IEEE

وهو المعيار IEEE 754-2008 وله صيغتان تدعمان دقتين مختلفتين للعدد الممثل

الدقة المفردة
23 بتاً للجزء الكسري، و 8 بتات للجزء الأسي، وبتا واحدا للإشارة
الدقة المضاعفة
52 بتاً للجزء الكسري، 11 للجزء الأسي، وبت واحد للإشارة

مع ملاحظة أنه يضاف عند تمثيل الجزء الأسي انحياز ثابت قيمته في الدقة المفردة 127، وفي الدقة المضاعفة 1023.

مثال :

ما هو التمثيل الثنائي للعدد : 19.5 في المعيار IEEE754 بالدقة المفردة ؟

-أولاً يجب أن نكتب العدد بالشكل نقسم 19.5 على فينتج 1.21875

-إذاً نستطيع كتابة 19.5 بالشكل

-العدد موجب، وبالتالي بت الإشارة يساوي 0

-الجزء الكسري يساوي : 0.21875 ، ويُكتب : 00111000000000000000000

-الجزء الأسي يساوي 4 ، يكتب : 00000100

-التمثيل الثنائي للعدد:

العمليات الحسابية على الأعداد

جمع وطرح الأعداد الصحيحة

ضرب وقسمة الأعداد الصحيحة

جمع وطرح الأعداد العشرية المرمزة ثنائياً

جمع وطرح الأعداد بالفاصلة العائمة

ضرب الأعداد بالفاصلة العائمة