رد: ممكن طلب شرح الباب 3 في الحوسبة
طيب شووفوو جزئية الـ storing real..
الـ real.. الل هوا الأعداد الحقيقية.. وهو عبارة عن جزء كسري وجزء صحيح..
يقول فيه طريقتين لتمثيل الأعداد الحقيقية.. ممكن نستخدم الـ fixed point أو الـ floating point..
الـ fixed point.. يعني مثلن... لو احنا الجهاز حقنا.. مايخزن غير خانتين بعد الفاصلة.. فكذا حيخزن الجزء الصحيح .. والجزء الكسري راح يآخذ منو خانتين.. والباقي يحذفهم... وهذا غلط طبعن.. لأن النتيجة حتكون غير دقيقة وغير صحيحة..
لكن لو استخدمنا الـ floating point.. يعني يمدينا نغير الفاصلة ع حسب العدد حقنا.. وبكذا حتتخزن كل الأرقام تبعنا.. وحتكون القيمة صحيحة ودقيقة..
في الـ floating point.. حنخلي بس عدد واحد (يعني خانة وحدة 1 bit) قبل الفاصلة.. ونشووف كم خانة احتجنا نحركها.. ونرفعها للأس..
وهذي الطريقة تسمي normalization.. :$
في صفحة 57 يقولك انو النورماليزيشن ينقسم لقسمين.. قسم اسموو scientific .. اللي حتكون للديسمال.. والثاني اسمو floating point .. وحتكون للباينري..
يعني نفس الفكرة بس المسميات تختلف.. وكمان في الساينتفيك حيكون 10 مرفوعة للأس حقنا.. لكن في الفلوتينق.. حتكون 2 مرفوعة للأس..
يقولكم لازم في الباينري العدد اللي حيكون قبل الفاصلة = 1
واللي بعد الفاصلة حيكون طبعن ي 1 أو 0..
لكن في الديسميال.. حيكون العدد اللي قبل الفاصلة من 1 لـ 9
واللي بعد الفاصلة.. حيكون من 0 لـ 9..
----------------------
عند تخزين الأعداد الحقيقة بنظام الباينري.. حينقسم التخزين إلى 3 اقسام..
1- العدد اللي حيكون بعد الفاصلة اسموو mantisa ... و2- الأس اسموو exponent .. و 3- الـ sign اللي هيا اشارة الرقم..
يقولك الـ sign حتكون طبعن ي (0 أو 1)
-----------------
يقولك فيه شيء اسمو excess system..
فيه نظامين.. واحد excess 127 ويتكون من 32 bit
والثاني excess 1023 ويتكون من 64
احنا أخذنا بس excess 127 ..
وحيكون تقسيم الـ bit كالآتي..
23 للمانتيسا
و8 للاكسبوننت
و 1 للساين
----------------------
حنمشي عالخطوات المكتوبة في ص 60..
الخانات حتكون كذا..
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ mantisa = 23bits
_ _ _ _ _ _ _ _ exponent = 8bits
_ sign = 1bit
دحين هوا اعطان العدد 5.76..
حنمشي حسب الخطوات اللي عندنا..
1- أول شيء الإشارة .. طبعن حتكون الإشارة موجبة.. لأن هوا مش كاتب سالب :P..
2- نحول الرقم لباينري حسب الطريقة اللي تعلمناها في شابتر 2..
حيطلع الناتج 101.11
3- احنا نبا نخلي بس خانة وحدة قبل الفاصلة.. ولازم الخانة دي تكون رقم واحد.. زي ماقلنا أول..
يعني هنا حنحرك الفاصلة لليسار مرتين.. وحيصير الناتج عندنا
1.0111 * 2^2
4 - ناخذ الأاس اللي طلعلنا ونجمعو مع 127 .. وحيطلع الناتج عندنا 129..
ناخذ الـ 129 ونحولها لباينري.. (لازم يكون تمثيلو في 8 خانات حسب تقسيم الـ excess 127).. وحيطلع الناتج هنا 10000001
5- من الفقرات اللي قبل عرفنا الاشارة اللي هيا موجبة.. وعرفنا الاكسبوننت.. وعرفنا المانتيسا اللي هيا حتكون بعد الفاصلة (زي ماعرفناها أول)
وناخذ دي القيم ونمليها في 32 خانة..
طبعن في المانتيسا هنا طلعلتلنا 0111 .. واحنا في الجزء الكسري.. مهما ضفنا من اصفار ع جهة اليمين ماحتأثر في القيمة.. فعشان كذا.. هنا حنحط أصفار في الخانات الباقية ^_^..
ونفس الشيء لوو مثلن طلعلتنا الاكسبوننت اقل من 8 .. نزود اصفاار عاليسااار.. (مش عاليمين ).. بس احنا مااحتجنا نزود.. عشان طلعلتنا 8 خانات ^_^..
ومثال 3.24 نفس الفكرة.. بس الاشارة حتكون مختلفة :$
بررررررررررب :$
|