مشاهدة النسخة كاملة : التمثيل الـ binary والعمليات الحسابية عليه


msamido
19-11-2008, 05:32 PM
السلام عليكم ورحمة الله وبركاته
النهارده فى برنامج ما يطلبه المبرمجون هنعمل موضوع الحلقة عن التمثيل الـ binary للأعداد والعمليات الحسابية عليها وهنستدعى الكلام اللى قلناه عن الموضوع ده فى موضوع البرمجة باستخدام ++C ونكمل عليه بإذن الله ....
يعنى ايه binary ؟
زمان واحنا فى ابتدائى أو فى كى جى one or two واحنا بنتعلم الأرقام والرياضيات كنا بنشوف الأعداد فى خانات يعنى لما نقول 123 ده معناه 3 فى خانة الأحاد و2 فى خانة العشرات وده معناه عشرين و1 فى خانة المئات وده معناه 100 صح وبتجميعهم مع بعض تبقى النتيجة مئة وثلاث وعشرون صح ؟؟
وبعد كده بدأنا نفهم إن خانة الأحاد دى فى النظام العشرى Decimal يعنى 10 أُس 0 وخانة العشرات يعنى 10 ُأس واحد وخانة المئات يعنى 10 أُس 2 وهكذا يعنى العدد 123 هو فى الحقيقة نتيجة : حاصل ضرب 3 فى (10 أس 0 ) + حاصل ضرب 2 فى (10 أس 1) + حاصل ضرب 1 فى (10 أس 3) ....
وطبعا النظام العشرى بيتعامل بالأرقام من 0 - 9 .. وجود كل رقم فى خانة سواء الأحاد أو العشرات أو المئات أو الألاف أو خلينا نقول بقى 10 أس 0 و 10 أس 1 و 10 أس 2 وهكذا معناه ان الرقم ده مضروب فى قيمة الخانه بتاعته دى.. صح الكلام ده ولا ايه ؟؟
بالظبط بقى النظام الـ binary هو نظام تمثيل الأعداد الثنائى اللى بيعتمد على الأرقام 0-1 فى خانات تحمل الأساس 2 بمعنى إن أول خانة فيه تمثل 2 أس 0 وتانى خانه تمثل 2 أس 1 وثالث خانة تمثل 2أس 2 وهكذااا
حد فاهم حاجه ؟؟
على فكرة بالمناسبة اللذيذة دى لما نقول كده من الشمال لليمين 0^2 ده معناه 2 أس 0 يعنى الرمز ده ^ بيمثل أس
يعنى الخانات بتاعة النظام الثنائى هتبقى كالأتى :


0^2 | 1^2 | 2^2 | 3^2 |


يعنى لما نقول 1111 ده معناه 1 × (0^2) + 1 × (1^2) +1× (2^2) + 1× (3^2) يعنى فى النظام العشرى يمثل :1+ 2 +4+ 8 يعنى بيمثل 15 وهكذاااا


طيب ده ازاى بنعرف الـ binary بيمثل كام فى النظام العشرى وعرفناه طيب لو عندنا رقم بالنظام العشرى وليكن مثلا 6 عايزين نمثله فى النظام الثنائى يبقى ازاى :
عندنا الخانات زى ما قلنا فوق الخانة الأولى بتمثل 1 عشرى أو 0^2 binary والخانة الثانية بتمثل 2 والخانة الثالثة بتمثل 4 طيب علشان نعمل 6 يبقى ازاى
يبقى نحط 1 فى خانة الأتنين و 1 فى خانة الأربعة وزيرو فى خانة الواحد ويبقى كده 110 أى 6 بالعشرى
يارب يكون الكلام واضح بس ...


ده مثال :
http://www10.0zz0.com/2008/11/12/18/953065541.jpg (http://www.0zz0.com/)

لغاية هنا كلام الحلقة اللى فاتت خلص ... ونبدأ فى كلامنا النهارده وهو العمليات الحسابية على الأعداد الـ binary نبدأ بسم الله ...
الجمع أو اBinary Addition ؟

الجمع فى الـ binary بالظبط زى طريقة الجمع فى الـ decimal عادى بس بيفرق بس الأرقام وخلونا نبدأ بـجمع 1 bit

http://www7.0zz0.com/2008/11/19/14/745207356.jpg (http://www.0zz0.com)

لكن 1 + 1 هيبقى فى باقى للعمود اللى بعد كده أو للخانة اللى بعد كده زى ما فى الـ decimal عادى لما يبقى المجموع 10 يبقى فى باقى للخانة اللى بعد كده فى الـ binary لما نجمع 1 + 1 يبقى الناتج بردوه 2 لكن الإتنين بتتمثل إزاى بالـ binary بنحط 0 فى أول خانه وهى خانة 0^2 ونحط 1 فى خانة 1^2 ويبقى الناتج كده :

http://www7.0zz0.com/2008/11/19/14/707357209.jpg (http://www.0zz0.com)

الحكاية بالظبط هى بقى مع أكتر من واحد bit نشوف المثال ده كده :

http://www7.0zz0.com/2008/11/19/14/196393935.jpg (http://www.0zz0.com)

الخطوة الأولى :
الخانة 0^2 :
0+1
النتيجة : 1 والباقى : 0

الخطوة الثانية :
الخانة 1^2 :
1+1
النتيجة : 01 والباقى : 1

الخطوة الثالثة :
الخانة 2^2 :
1+0 = 1 وكمان 1 كان باقى معانا يبقى 10
النتيجة : 001 والباقى : 1
الخطوة الرابعة:
الخانة 3^2 :
1+1 = 10 وكمان معانا 1 يبقى 11
النتيجة : 1001 وفى باقى 1 بس خلاص كده مفيش تانى يبقى النتيجة النهائية هى: 11001 وده بيمثل كان فى الـ decimal بيمثل 25

http://www7.0zz0.com/2008/11/19/15/500453911.jpg (http://www.0zz0.com)

مش عارف كده عملية الجمع وضحت ولا لأ بس خلونا نقول لما نجمع 0 +1 يبقى النتيجة 1 ولما نجمع 1 + 1 يبقى النتيجة 2 اللى بتتمثل binary كده 10 ولو جمعنا 1 + 1 + 1 يبقى النتيجة 3 واللى بتمثل binary كده 11 ولو جمعنا 2 بالـ binary اللى هى كده 10 على اتنين تانى 10 يبقى مفروض النتيجة 4 وطبعا هتبقى كده 100 جات ازاى ؟؟
0 + 0 تبقى النتيجة 0 و 1 + 1 تبقى النتيجة 10 والنتيجة النهائية تبقى كده 100 وضحت صح ؟؟

المهم فى الجمع دايما خليكوا فاكرين دى

http://www7.0zz0.com/2008/11/19/15/367457553.jpg (http://www.0zz0.com)

ودول شوية أمثلة بسيطة للجمع علشان تجربوا كده ....

http://www7.0zz0.com/2008/11/19/15/855132781.jpg (http://www.0zz0.com)



معلش مضطر أوقف دلوقتى وعذرا لإنقطاع الإرسال نتابع فى حلقة قادمة إن شاء الله

.
.

همس
20-11-2008, 01:44 AM
جزاك الله خيرااااااا بجد

مش عارفة اقول لحضرتك ايه


ان شاء الله ليا عودة وتعليق بعد ما اخلص قراءة الدرس

جزاك الله خيرا

rosey
26-11-2008, 03:54 AM
جزاك الله كل خير يارب على الشرح الجميل ده والمبسط

msamido
26-11-2008, 10:49 AM
جزاك الله خيرااااااا بجد

مش عارفة اقول لحضرتك ايه


ان شاء الله ليا عودة وتعليق بعد ما اخلص قراءة الدرس

جزاك الله خيرا

جزانا الله وإياكم كل الخير يا همس
واتمنى بس يكون الشرح وصل كويس ويارب ألاقى وقت ودماغ اعرف أكمل باقى الدرس بإذن الله

جزاك الله كل خير يارب على الشرح الجميل ده والمبسط

جزانا الله وإياكم كل الخير تابعينا إن شاء الله نكمل الدرس

badnamef4
03-05-2009, 05:53 AM
السلام عليكم و رحمة الله و بركاته
يبدو أن الموضوع قديم قليلاً و لكني سأجاوب إن شاء الله على أمثلة حضرتك و أرجو التصحيح
حل الأمثلة:
1110=14
1100=12
1101=13
السلام عليكم و رحمة الله و بركاته