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

طلب دالة بالc

مغلق
بدأه ختـــــام في 2 يناير 2007 · 3 رد · 504 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وكل عام وأنتم بخير

عندي مشروع assembler وإن شاء الله قطعت فيه شوط كبير لكن أعاقتني حاجتي لدالة أعطيها رقم ( سواء عشري أو بالنظام السادس عشر) أو string وترجع لي عدد bytes اللي نحتاجها لتخزينه..هل يوجد دالة جاهزة تقدم لي هالخدمة...وإذا لا أو أحد يعرف كيف أكتبها (يعني الفكرة) ياليت يخدمني

وشكراً جزيلاً :)

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

#2

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

أستخدم الأمر sizeof لمعرفة حجم المتغيرات وبعد معادلة بسيطة أو بمعنى أصح خورازمية بسيطة توصل لهدفك

وهى تستخدم هكذا sizeof(integer); so easy

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

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

سلام

تم تعديل هذه المشاركة بواسطة say say not know في 3 يناير 2007 في 00:12

befor any great jop there is a bad jop had done

#3

شكراً أخي الكريم..جزاك الله خيراً على المساعدة :)

لكن ما أطلبه دالة تعطيني العدد الكافي من البايتات لتخزين الرقم

مثلاً حين أقول الرقم 1 فإنه لا يحتاج سوى بايت واحد لتخزينه لأن تمثيله الثنائي هكذا (00000001)

أما إذا كتبت رقم مثلاً 256 الذي يمثل بالثنائي هكذا (100000000) فإنه يحتاج 2 بايت لتخزينه

وهكذا مع أي رقم...

#4

أذا ما تحتاجه فى الأول تحويل الأعداد والحروف إلى النظام الثنائى ومن ثم تحديد شروط التخزين أو بمعنى أوضح نظم التخزين

اقتباس
مثلاً حين أقول الرقم 1 فإنه لا يحتاج سوى بايت واحد لتخزينه لأن تمثيله الثنائي هكذا (00000001)

أما إذا كتبت رقم مثلاً 256 الذي يمثل بالثنائي هكذا (100000000) فإنه يحتاج 2 بايت لتخزينه

وهكذا ولكن لا توجد دالة واحده لفعل هذا وأنما تحويل يدوى وحساب يدوى فمثلا 2 تساوى 000000010

تكتبه يدويا و 3 تساوى 000000011 تعمل معادلة أستبدال 3 بالرقم هذا ومن ثم كتابة خوارزمية بسيطة لعمل معادلة التخزين وهكذا وكما قلت سابقا أن شئت ممكن أكتبلك المعادلة بس حاول أنت الأول

befor any great jop there is a bad jop had done

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…