الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هي آلية الجمع والطرح ... والقسمة والضرب ؟؟؟

بدأه مصطفى 36a2 في 4 سبتمبر 2012 · 2 رد · 1,874 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

سؤالي لا يهتم بالتعليمة التي تنفذ الجمع والطرح ..إلخ ..

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

هل هي كما تعودنا في المدرسة ...

101

*

11

101

+

1010

1111

طبعا هذه الخوارزمية كما هو معروف لها تعقيد( O(n*m حيث nعدد منازل الأول m عدد منازل الثاني ..

____________________________

حسب معلوماتي فإن العمليات المنطقية هي or and xor not إضافة إلى مقابلها بالنفي ..

فإذا أردنا القيام بالجمع :

1+1 = 0 مع الجمل 1 للمنزلة التالية

1+0 =1

0+1 =1

0+0=0

هي نفسها نتائج xor

ويكون الحمل هو نتائج and .... هذا الكلام من مخيلتي ..فالتعقيد( O(n حيث n عدد منازل الأكبر

فهل هكذا يتم العمل في الداخل ..أم هناك طريقة أسرع لا تتعامل مع كل بت على حدة

________________________________

الطرح :

1-1= 0 مع استلاف 1

1-0=1

0-1=1

0-0=0

وهي نفس نتائج xor مع وجود الاستلاف من المنزلة الأكبر عندما يكون المعامل الثاني 1 والأول 0

أي أن الاستلاف هو and بين المعامل الثاني ونفي المعامل الأول ...هل هذا صحيح ..

_______________________________

سؤالي الأول هو ..

هل يقوم الحاسب بالجمع Bit by Bit بتّاً بتّاً ... أم أنه يقوم بالعملية على الحجرة كلها مرة واحدة ...

_______________________________

سؤالي الثاني هو :

ما هي آلية الضرب والقسمة ...(يمكنني تصميم آلية صحيحة ولكن أقصد الآلية الحقيقية التي يعمل وفقها صاحبنا)

_______________________________

إجابة السؤال ستولد المزيد من الأسئلة والاستنتاجات والتي أرغب في مشاركتها معكم ...

شكراً لكم

والسلام عليكم ورحمة الله وبركاته ..

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 4 سبتمبر 2012 في 07:26

#2

السلام عليكم حسب إعتقادي بالنسبة للسؤال الاول فالعملية لا تتم bit ب bit بل تتم على الحجرة كلها مرة واحدة إذا كان عدد مداخل دارة الجمع يساوي حجم الحجرة

اقصد انه إذا كانت الحجرة تستقبل 8bit وحجم الحجرة 16bit فإنا العملية تتم مرتين , وبنسبة لالية الجمع فانها تتم كما قلت بxor & and مثلا نجمع البت الاول مع مايقابله

في الحجرة الثانية عن طريق xor ونجعل النتيجة هي اول بت في حجرة الناتج ام الحامل فنحصل عليه عن طريق and ونجمع الناتج مع نتيجة جمع البت الثاني مع مايقابله

في الحجرة الثانية2_18_5_1_eng.png

حيث c الحامل

S الناتج

و P & Q البت في الحجرة و مايقابل في الحجرة الثانية

كما ترى هي تطبيق للعملية العمودية العادية

تم تعديل هذه المشاركة بواسطة nadir02 في 4 سبتمبر 2012 في 22:29

#3

لا تعلم كم أعشق هذه الصراصير السوداء ذات الأرجل الستة عشر ... happy.gif

أنتظر إجابة للضرب والقسمة فهما سؤالي الرئيسي ...

بالنسبة للجمع ...أفهم من كلامك أن العملية تتم على التوازي إن صح التعبير ... وبالتالي سيكون تعقيد الجمع ثابت للحجرة الواحدة وهو(2)O مرة للجمع ومرة للحمل هذا في أحسن الأحوال ...

ولكن ألن يجعل ذلك العملية 11111111+1 أطول ب7مرات من 1+1 وذلك للسبب التالي :

11111111

+

1

________

11111110 ثم حمل واحد إلى المنزلة التالية أي

+

10

________

وهكذا ..... أليس هذا صحيحاً ؟؟

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 4 سبتمبر 2012 في 23:11

مواضيع مشابهة