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

شغل مخك

مغلق
بدأه romanof في 27 فبراير 2006 · 11 رد · 1,219 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تم نقل الاسئلة
انا بدوري ساضع مجموعة من الاسئلة من هذا النوع:
1-كيف تستطيع ان تعرف اذا كان العدد من النوع (2 اس ن) -1
2-تحديد اول بت من اليمين الذي يحتوي على واحد مثال 01011000 ==> 00001000 في حالة عدم وجوده نعيد صفرا
3-نضع اول بت من اليمين يحتوي على صفر 10100111 ==> 00001000 في حالة عدم وجوده نعيد صفرا
4-تصفير اول مجموعة من الواحدات المتتالية الواقعة في اقصى اليمين
01011000 => 01000000

الحل في سطر واحد لكل سؤال

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 26 يونيو 2014 في 21:38 — السبب: add some tags

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#2

1- ما فهمت السؤال ؟

2- اذا اردت ان تعيد عدد معين من البتات بداية من يمين العدد:

return num & (1<<BitsLen);

3-اذا اردت تشغيل عدد معين من البتات بداية من يمين العدد:

return num |  (1<<BitsLen);

4-تصفير عدد معين من البتات بداية من يمين العدد:

return num & (~0 <<  BitsLen);

ان شاء الله صح:)

#4

لم يتم حله

السؤال الذي وضعته من قبل كان عن تحديد اذا كان العدد من نوع 2 اس n

أما عادل فوضع مجموعة أسئلة و أحدهم عن تحديد ما اذا كان الرقم من النوع(2 اس ن) -1

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#5

آسف!! أختلط علي الأمر :)

#6

يبدوا اني لم افهم الاسئلة (بسبب العجلة ) وصدق من قال: في التأني السلامة .

وهذه محاولتي الثانية للحل:)

حل الفقرة الثانية:

( ( (x-1) ^ x ) +1 )>>1 )

أو

x - (x & (x-1))

حل الفقرة الثالثة:

( ( (x+1) ^ x ) +1 )>>1 )

و المحاولات جارية على الفقرة الرابعة ،

اما الفقرة الأولى فقد واجهتني مشكلة حيث لايمكن تطبيق العمليات الثنائية على عدد من النوعfloat.

و اتمنى من الشباب المشاركة:)

#7

السؤال رقم 1 يعتبر صورة اخرى من سؤال محمد (باشمهندس)

اجابته هتكون

if ((x & (x+1)) ==0) {
}
else {
}

الثاني تم حله والثالث ايضا بواسطة Teao

الرابع :

(x & ((( (x-1)^x) | x)+1))
#8
اقتباس
x - (x & (x-1))

هذا الحل لا يعمل عندما يكون العدد عبارة عن (2 اس ن)

لان

          (x & (x-1

ساعتها = صفر اذا

x-0=x

اما الاول صحيح

عموما الحل الاقصر هو

              x &(-x)

حل السؤال الثالث صحيح كان من الممكن حله هكذا

y:=( not x) and ( x+ 1 );

او بوضع not x بدلا من x حل السؤال الثاني ولاتكترث لعدم لعدم وجود النفي في السي فالهدف هو ايجاد الخوارزمية

وليس اللغة التي تكتب بها

تم تعديل هذه المشاركة بواسطة romanof في 28 فبراير 2006 في 20:44

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#9

السلام عليكم

لو سمحتوا ممكن الاسئلة بالانجليزية؟

لاني ما فهمت بالعربي

#10

يوجد النفي في الC و هي العلامة ~

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#11

شكرا يا حسام للتصحيح

للتو عرفت وكنت داخل اصحح

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#12

رائع كنت متوقع ان الحل اقصر من حلي :)

ماذا عن السؤال الأول ؟

هل حلAsm4all صحيح ؟

الذي اعرفه ان العمليات على مستوى البتbitwise لاتطبق إلا على الاعداد الصحيحة (والمترجم لدي يعطني رسالة خطأ عند تطبيقها على الأعداد الحقيقة من النوعfloat او double) طبعا كلامي عن لغة السي.

بالمناسبة وجدت طريقة لتخزين عدد حقيقيfloat في متغير صحيحint ، احببت ان اشارككم بها:

http://ridiculousfish.com/blog/?p=24

اذا حليت الامر بهذه الطريقة فسيتطلب اكثر من سطر ، ما رأيكم :)

تم تعديل هذه المشاركة بواسطة Teao في 2 مارس 2006 في 06:41

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

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