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

[ تمت الإجابة ]سؤال حول وسطاء التابع وأهميتها

بدأه mjdarar في 26 أغسطس 2012 · 5 رد · 443 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي استفسار حول هذه الكتابة :

unsigned int X (unsigned long Y , unsigned long F)

ما هي وظيفة و مهمة المتغيرات المُعرفة بين قوسي متغير ؟ مثل Y و F.

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 26 أغسطس 2012 في 14:53 — السبب: تعديل العنوان

#2
mjdarar كتب:

unsigned int X (unsigned long Y , unsigned long F)

ما وظيفة و مهمة المتغييرات المعرفة بين قوسي متغير

كالمتغييرين y ,F

وعليكم السلام

فيما يخص المتغيرات من نوع

    	unsigned int a;
    	unsigned long b;
    	unsigned long long c;
    	unsigned char d;
    	..

هذه المتغيرات لا تقبل إلا الأعداد الموجبة وفقط دون إشارة (-)

وهناك خاصية تتميز بها هذه المتغيرات عن غيرها فمثلا

لو قارنا بين :

   int a;
   unsigned int b;

سنجد أن المتغير a يقبل مجموعة الأعداد من -767 32 إلى 767 32

في حين أن المتغير b يقبل مجموعة الأعداد من 0 إلى 535 65 في معالج 16 بيت

ستلاحظ كذلك أن المتغير b من نوع unsigned int يقبل ضعف الأعداد الموجبة التي يقبلها المتغير a من نوع int

أو بمعنى آخر فإن الأعداد السالبة التي لا يتم احتسابها في المتغير b يتم إضافتها للأعداد الموجبة

وكذلك ستلاحظ أن مجموعة الأعداد التي يقبلها المتغير b تبدأ من العدد 0

بمعنى أن هذا المتغير لا يقبل إلا الأعداد الموجبة و فقط كما أشرنا سابقا

انتبه للمحدد عند استعمال هذا النوع من المتغيرات

   unsigned int a=10;

   printf("%u",a);

وبالتوفيق

تم تعديل هذه المشاركة بواسطة مومو (momo) في 26 أغسطس 2012 في 04:12

1

i love you mama

#3

الأخ الكريم/الأخت الكريمة

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

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

السلام عليكم

اقتباس
ما وظيفة و مهمة المتغييرات المعرفة بين قوسي متغير

لا يُمكن تعريف متغيرات بين قوسي متغير بل يُمكن ذلك مع الدوال فقط حيث تُسمى المتغيرات الموجودة بين الأقواس بالوسائط (parameters), انظر المثال :

#include<stdio.h>

unsigned int MAX(unsigned long A, unsigned long B) {
    return A > B ? A : B;
}

int main() {
    unsigned long int X = 82743, Y = 617313;
    printf("MAX(%lu,%lu) = %u", X, Y, MAX(X, Y));
    return 0;
}

أما إن بالنسبة لــ unsigned فهي إحدى الــ Length Modifier.

الـ Length Modifier هي كلمات محجوزة مسبقا, باستخدامها مع int تجعل مدى الأرقام الذي يمكن تمثيله به ثابت و لا يتغير من نظام تشغيل لآخر أو بمعنى أدق من Architecture لأخرى وهي :

Signed short

Signed long

Signed long long

Unsigned short

Unsigned long

Unsigned long long

Signed و Unsigned ليسوا أنواع, يوجد نوع بيانات واحد للأرقام الصحيحة و هو int و يمكننا تغيير المدى الخاص به عن طريق الـ Length Modifier لنحصل على أنواع جديدة مشتقة منه و هي short و long و long long كأن نكتب:

Short int//short int = short
Long int// long int = long
Long long int// long long int = long long

بالنسبة للرموز المُستخدمة مع الأعداد الصحيحة :

  • الرموز التالية %d,%i,%o,%x تُمثل القيم التي من النوع int أو unsigned int فقط و إذا أردنا استخدامها مع الأعداد الصحيحة المضاعفة فإننا نستخدم الرموز التالية %ld,%li,%lo,%lx
  • إذا أردنا إظهار عدد صحيح قصير موجب unsigned short فإننا نستخدم الرمز %hu و نستخدم الرمز %lu مع unsigned long أما إذا أردنا إظهار عدد صحيح مضاعف ضخم موجب فإننا نستخدم الرمز %llu.

راجع الــ FAQ لمعرفة التفاصيل.

أرجو لك التوفيق.

2
#5

لقد فهمتها شكرا لكم جميعا

وفقكم الله

#6
أحمد الشنقيطي كتب:

Signed و Unsigned ليسوا أنواع, يوجد نوع بيانات واحد للأرقام الصحيحة و هو int و يمكننا تغيير المدى

الخاص به عن طريق الـ Length Modifier لنحصل على أنواع جديدة مشتقة منه و هي short و long و long long كأن نكتب:

Short int//short int = short
Long int// long int = long
Long long int// long long int = long long

+1

i love you mama

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