المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Binary Decimal Converter


القنـاص المصرى
05-02-2015, 05:48 PM
السلام عليكم ورحمة الله وبركاته
بسم الله الرحمن الرحيم
اقدم لكم يا اخوة برنامج من صنعى للتحويل بين انظمة العد Binary - Decimal
http://www.mediafire.com/download/r8y450t62kafoop/Binary_Decimal_Converter.apz
اى استفسارات ياريت تكتبوها وانا هجاوب ان شاء الرحمن

abohmam
05-02-2015, 08:49 PM
جزاك الله خيرا أخانا القناص

سيتم التحميل والإستفادة ان شاء الله

بارك الله في جهودك

ثامر أبو بلقيس
05-02-2015, 08:52 PM
السلام عليكم ورحمة الله وبركاته
بارك الله فيك و جزاك كل خير

اى استفسارات ياريت تكتبوها وانا هجاوب ان شاء الرحمن

بعيدا عن global functions أرغب في الحصول على كود
للتحويل الى نظام بنير مع الشرح الرياضي و البرمجي

شكرا :abc_138:

القنـاص المصرى
06-02-2015, 01:44 AM
اولا قبل تعلم التحويل بين النظام العشرى Decimal والنظام الثنائى Binary
علينا اولا ان نتعلم ما هى بنيه الانظمة العدية
قبل اى شرح اعلم انى سأرمز الى الاس بهذا الرمز X pow n
ومعناه ان القاعده هى X وان الاس هو n

لماذا يسمى النظام العشرى بهذا الاسم
لان عدد الارقام الخاصه بهذا النظام 10
وهم من صفر الى 9
0 1 2 3 4 5 6 7 8 9
اذا قمت بعد هذه الاعداد بإتبار ان الصفر عدد (هو ليس له قيمه ولكنه يبقى عدد)
سنجد ان اعداد هذا النظام هى 10
اما فى عالم الالات فلا تتعرف سوا على الاشارات ال High volt وال Low Volte ويرمز للHigh ب الرقم 1
ويرمز الى ال Low بالرقم 0
وبهذا نجد ان قاعده هذا النظام هى 2
لو نظرنا الى نظام العد العشرى سنجد
ان النظام يتكون من خانات
احاد - عشرات - مئات - الاف
كل خانه من هذه الخانات يمكنها ان تحمل ارقام من 0 الى 9 فاذا امتلئت بأخر رقم وهو 9 واضفنا اى رقم اخر انتقلت الى الخانه الثانية
فمثلا الرقم 9 اذا اضفنا له 1 يكون الناتج 10 وهذا بسبب انه تم ملئ خانه الاحاد فانتقل الى خانه اخرى
ولكن اذا نظرنا بتمعن كيف وجدت خانه الاحاد والعشرات والمئات والالاف سنجد هذا
الاحاد هى رقم 10power0 اللى هى تساوى 1
والعشرات نتجت من الرقم 10power1 وهو الناتج 10
والمائات نتجت من الرقم 10power2 والناتج هو 100
اذا نجد ان القاعده هى BasePower0 ويليها BasePower1 ويليها BasePower2 الخ..
حيث ان Base هو القاعده والتى تسااوى عدد ارقام النظام قلنا سابقا ان نظامنا العشرى يحتوى على 10 ارقام من 0-9
ولذلك وضعنا القاعد ب 10
الان بعد ان فهمنا بنية النظام العشرى لنرى كيف يتم تمثيل الارقام فى هذا النظام
لنأخذ على سبيل المثال هذا الرقم
9240
هذا الرقم تم تمثيله على النحو الاتى
(9 x 10power3) + (2 x 10power2) + (4 x 10power1) + (0 x 10power0)
0 + 40 + 200 + 9000
قم بجمع هذه الارقام مع بعضها ليكون الناتج هو 9240
الان قد فهمنا البنية الاساسية للنظام العشرى
لنشرح الان النظام الثنائ كل الفروق هو اننا فى النظام الثنئى لدينا رقمان فقط ال 0-1
وبذلك يكون قاعده النظام لدينا هى 2
والخانات ستكون 2power0 للاحاد و 2power1 للعشرات و 2power2 للمئات الخ..
ويتم التمثيل فى هذا النظام الاعداد بالشكل الاتى
فلو اننا اردنا ان نعلم 100101 يمثل ماذا فى النظام العشرى نصنع هذا الجدول
http://img538.imageshack.us/img538/1821/Ulc2zQ.png
الان اجمع 1 +4+32 ليكون الناتج هو الرقم 37 فى النظام العشرى
اظن الفكرة بدأت توضح
الان لم نتحدث عن كيفية التحويل
اولا لكى نحول من من نظام عشرى الى نظام ثنائى نستخدم باقى القسمة
سنأخذ الرقم 5 على سبيل مالثال
اول خطوة معرفه ال Base الذى سنقوم بالتحويل له وهو 2 فى البينارى
سنحول من نظام Decimal الى Binary
يعنى ال Base تبعنا هو 2
الان نمسك الرقم خمسه ونقسمه على ال Base اللى هو 2
5 / 2 = 2 وباقى القسمه 1 . فلو عدنا وضربنا ال 2 * 2 سينتج 4 ونضيف واحد حتى تكتمل لخمسه
الان نسجل عندنا اول حاصل باقى قسمه وهو 1
نكمل
2/2 = 1 وباقى القسمه 0
نسجل معنا الصفر وهو باقى قسمه
1 / 2 = 0 وباقى القسمه 1
الان نجمع باقى القسمه
1
0
1
الناتج هو
101
طيب واذا اردنا ان نحوله الى Decimal مره اخرى ؟
1 2 4 ---------------> 1 2 4 لان 2power0 تساوى 1 و 2power1 تساوى 2 و 2power2 تساوى 4
1 0 1
------------------------
الرقم اللى تحت واحد بنضيفه لعمليه الجمع والرقم اللى تحته صفر لانضيفه
1 + 4 = 5
اظن الصورة الان وصلت
نجرب مثال اخر
الرقم 7 نريد تحويلى
7 / 2 = 3 وباقى القسمه 1 هذا اول رقم من جهة اليمين
3 / 2 = 1 وباقى القسمه 1
1 / 2 = 0 وباقى القسمه 1 وهذا اخر رقم من جهة اليسار
الناتج يكون 111
الان نجرب مرة اخر مع الرقم 9
9 / 2 = 4 الباقى 1
4 / 2 = 2 الباقى 0
2 / 2 = 1 الباقى 0
1 / 2 = 0 الباقى 1
1001
ربما اختلط الامر بسبب ان الارقام متشابهه من كلا الجهتين اليمين واليسار هذا المثال هو الفيصل :abc_091:
الرقم هو 12
12 / 2 = 6 الباقى 0
6 / 2 = 3 الباقى 0
3 / 2 = 1 الباقى 1
1 / 2 = 0 الباقى 1
1100
الان نعكس العمليه
نريد ان نعرف ماهو الرقم المقابل ل1010 فى النظام العشرى
نضع جدولنا
1 2 4 8
0 1 0 1
---------------------------
2 + 8
الناتج يكون 10
اتمنى تكون الفكرة وصلتك اخى مع العلم ان هناك انظمه اخرى مثل ال HexaDecimal وال Octa وكل الطرق موحده ولكن فى الHexa ال Base بيكون 16 لانه يتكون من 16 رقم

0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f

كما نرى فى الهيكسا الارقام من 10 حتى 15 يرمز لها بحروف ولاحظ انى قلت ان الارقام الى 15 ! كيف والنظام يتكون من 16 رقم ؟؟ الاجابه هى اننا اذا اضفنا الصفر يكون الناتج 16 رقم
اما عن ال Octa فال Base الخاص به هو 8
التحويل يتم بنفس الطريقة فى كلا النظامين بنقسم على ال Base الخاص بالنظام المراد التحويل اليه ثم نأتى بباقى القسمه ونرى الرقم المناظر له فى النظام فلو كان باقى القسمه 6 وضعناه
ولو كان باقى القسمه 10 فى نظام الهيكسا نكتب حرف a
اتمنى تكون وصلتك الفكرة
واعتذر للاطالة وعلى التأخير فى الرد .

ثامر أبو بلقيس
06-02-2015, 04:16 PM
بارك الله فيك أخي القناص المصري
سأفهم من مثالك الاخير أن التحويل من النظام العشري
إلى النظام الثنائي هو ما حدث في الصورة و اعتذر ليست لدي برامج تصميم:
http://im50.gulfup.com/wIsr2T.bmp (http://www.gulfup.com/?9VxkYS)

هل هذا الفهم صحيح ؟
والتحويل العكسي أأخذ الناتج و أرجع به حتى يعطيني الرقم 12

تقديري :abc_138:

ثامر أبو بلقيس
06-02-2015, 09:29 PM
بعد إذنك أخي القناص المصري قد أفتح تساؤلا -- في قسم الاستفسارات --
في صلب هذا الموضوع حتى أفهم أكثر شكرا جزيلا
تقديري لمجهودك و أأمل أن أقرأ لك الكثير مثل هاته المواضيع الهادفة :abc_138:

القنـاص المصرى
07-02-2015, 12:42 AM
نعم يا اخى ولكن الناتج يكون 1100
وليس 1111 كما بالصوره

أبو يوسف
07-02-2015, 01:00 PM
جزاك الله خيرا اخانا القناص على مجهودك وما شاء الله أخانا تامر متابعك خطوة بخطوة يعني مصر على أن ينتهي بفائدة كاملة غير منقوصة

.