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

مشاهدة النسخة كاملة : ممكن حد يفهمني الجزء ده؟؟؟



winter sonata
03-01-2010, 10:46 PM
انا الجزء ده نقلاه من المحاضره الاخيره ومش فاهمه تماما
يا ريت اي حد يفهمهولي:TT:

float x = 1.2 ;
int y= 5 ;
int z= 0x878925 ;
int a ;
char b ;
a = x ; ( fraction part is lost because int can't contain decimal)
b = y ; (no problem in conversion )
b = z ; ( data lost because b (char. = 8 bit ) while z (int. =24 bit ))
type casting.....................:
a= (int) x ; 1
b=( char ) y ; 5
b= char (z) ; 0x25
 

atemuoh1991
03-01-2010, 10:55 PM
int و char و float دي متغيرات
كل نوع فيهم بيحط حدود على شكل ال data اللي جواه

مينفعش أحط حاجة كبيرة جوا حاجة اصغر منها لكن ممكن العكس
يعني مثلا ال x نوعها float
وده بيسمح بـ decimal
لما آجي أحطها جوا ال a اللي هي int
مش حينفع عشان int مش بتسمح بال decimal
فحتاخد ال 1 وتسيب ال 0.2

بالنسبة لل z وال b
المشكلة في الحجم بتاع المتغير مش في الحدود

Mohammed Abdel Hamid
03-01-2010, 11:01 PM
طيب دي سهلة أوي

فيه حاجة اسمها data types و هي نوع الـData اللي الـVariable بتاعنا بيشيلها

مثلاً الـInt ده بيكون على طول رقم صحيح من غير كسور

طيب

لما عرفنا int a و جينا نحط جواه الـFloat اللي اسمها X و اللي قيمتها 1.2

ممكن يعترض لأن أنواع الـData types مالهاش نفس عدد الـbits اللي بيتحط فيها الداتا

فلازم نعمل حاجة الأول اسمها الـType conversion

دي بتخليني أحول من Float مثلا الى int زي ما في الجملة دي

a=(int)x; This means

حول الـVariable اللي اسمه x الى int (خلينا فاكرين أنه كان Float) و حطه في الـVariable اللي اسمه a

winter sonata
03-01-2010, 11:05 PM
تمام
طب بالنسبه جزء الz

محب الدين
03-01-2010, 11:14 PM
انا الجزء ده نقلاه من المحاضره الاخيره ومش فاهمه تماما
يا ريت اي حد يفهمهولي


عرفت variable اسمه x نوعه float وحطيط فيه 1.2


عرفت variable اسمه y نوعه int وحطيط فيه 5

عرفت variable اسمه z نوعه int وحطيط فيه 878925
( اى رقم هيسكا بحط قبليه 0x )
int a ;
عرفت variable اسمه a نوعه int
char b ;
عرفت variable اسمه b نوعه char
a = x ; ( fraction part is lost because int can't contain decimal)
a نوعه int بيخزن ارقام صحيحه بس فلما بساويه بال x اللى نوعه float بيهمل الجزء العشرى اللى هو 0.2

b نوعه char حجمة اقل من int بس y فيها رقم صغير مفحصلش مشكله

ولكن حدث مشكله مع z عشان الرقم اللى مخزنه كبير اكبر من حجم ال char عشان كده اخد اصغر byte اللى هى 0x25
type casting.....................:
a= (int) x ; 1
b=( char ) y ; 5
b= char (z) ; 0x25
 
بس كده

Mohammed Abdel Hamid
03-01-2010, 11:18 PM
تمام
طب بالنسبه جزء الz
طيب واحدة واحدة

مش احنا قلنا ان الـint حجمه 24 ؟

و الـChar حجمه 8 بس:whistling:

يعني الـChar تلت الـint

طب ازاي أحط حاجة حجمها 24 جوة حاجة حجمها 8 ؟:petlya35ch:

علشان كدة هاتلاقي اللي نوعه char أخد الثلث اللي على اليمين من الـint بس

يعني الـb أخدت الـ25 اللي عاليمين بس

علشان هو ده اللي هو هايقدر يشيله

ox اللي في الأول دي يعني Hexadecimal مش رقم ولا حاجة

لو لسة مش واصلة أوي ممكن أوضحها أكتر

winter sonata
03-01-2010, 11:27 PM
تمام كده بدات افهم:)
شكرا بحضرتك يا باشمهندس

Yusuf
03-01-2010, 11:31 PM
طيب دي سهلة أوي

فيه حاجة اسمها data types و هي نوع الـData اللي الـVariable بتاعنا بيشيلها

مثلاً الـInt ده بيكون على طول رقم صحيح من غير كسور

طيب

لما عرفنا int a و جينا نحط جواه الـFloat اللي اسمها X و اللي قيمتها 1.2

ممكن يعترض لأن أنواع الـData types مالهاش نفس عدد الـbits اللي بيتحط فيها الداتا

فلازم نعمل حاجة الأول اسمها الـType conversion

دي بتخليني أحول من Float مثلا الى int زي ما في الجملة دي

a=(int)x; This means

حول الـVariable اللي اسمه x الى int (خلينا فاكرين أنه كان Float) و حطه في الـVariable اللي اسمه a
جامد والله يا عبده انا عاوزك بقى :):)