مشاهدة النسخة كاملة : الكلام الجميل لعدم الحيرة في التحويل
سيف سالم 11-03-2010, 07:50 PM ان عملية التحويل بين الانواع المختلفة قد شغل الجميع
وقد احتار الكل
كيف لا يمكن التحويل من double و single الى decimal بالرغم من ان الاخير هو الاكبر 16 خانة
لازالة الحيرة
التحويل المباشر و الغير مباشر
widening conversion
narrowing conversion
implicit conversion
explicit conversion
الكلمات الاربع السابقة هي المفتاح
وطبعا الترجمة
الواسع
الضيق
الضمني
الصريح
ان كتاب المدرسة قد خلط بين الكلمات
كيف ؟ سنوضح ذلك
بالرجوع الةى msdn
وجد الاتي
A widening conversion changes a value to a data type that can accommodate any possible value of the original data.
A narrowing conversion changes a value to a data type that might not be able to hold some of the possible values.
An implicit conversion does not require any special syntax in the source code. In the following example, Visual Basic implicitly converts the value of k to a single-precision floating-point value before assigning it to q.
Dim k As Integer
Dim q As Double
' Integer widens to Double, so you can do this with Option Strict On.
k = 432
q = K
An explicit conversion uses a type conversion keyword. Visual Basic provides several such keywords, which coerce an expression in parentheses to the desired data type. These keywords act like functions, but the compiler generates the code inline, so execution is slightly faster than with a function call.
مما سبق نلاحظ ان
التحويل ليس بين الانواع
ولكن بين القيم
كما ان المباشر هو من لا يحتاج الى كلمات او دوال
والغير مباشر هو الذي يعتمد على كلمات ودوال للتحويل
بالرجول الي القيم نجد ان اكبر القيم هي قيم double
For +ve values approximately 4.9*10-324
to
1.8*(10)
+308
For -ve values approximately -1.8*10+308
to -
4.9*(10)
-324
And 0
ويليها في الصغر single
For +ve values approximately1.4*(10)
-45
to
3.4*(10)
+38
For -ve values approximately -3.4*(10)
+38
to
1.4*(10)
-45
And 0
ثم decimal
ثم long ثم integer ثم short
وعليه الحيرة ان كتاب المدرسي قد ذكر ان التحويل بين الانواع
والحقيقة انه بين القيم التى يمكن تخزينها في تلك الانواع
mohamed_salem 11-03-2010, 08:10 PM شكرا ياباشا انت شرف لنا بارك اله فيكم
محمد عبد الحكم 11-03-2010, 08:13 PM كل التحية والتقدير للقائد سيف باشا سالم :078111rg3: اكبر موسوعه علمية بالمنتدي
سليم سلامة 11-03-2010, 09:52 PM بارك الله فيك
Mr. Medhat Salah 11-03-2010, 10:17 PM جزاك الله خيرا
سليم سلامة 11-03-2010, 10:30 PM ان عملية التحويل بين الانواع المختلفة قد شغل الجميع
وقد احتار الكل
كيف لا يمكن التحويل من double و single الى decimal بالرغم من ان الاخير هو الاكبر 16 خانة
لازالة الحيرة
التحويل المباشر و الغير مباشر
widening conversion
narrowing conversion
implicit conversion
explicit conversion
الكلمات الاربع السابقة هي المفتاح
وطبعا الترجمة
الواسع
الضيق
الضمني
الصريح
ان كتاب المدرسة قد خلط بين الكلمات
كيف ؟ سنوضح ذلك
بالرجوع الةى msdn
وجد الاتي
A widening conversion changes a value to a data type that can accommodate any possible value of the original data.
A narrowing conversion changes a value to a data type that might not be able to hold some of the possible values.
An implicit conversion does not require any special syntax in the source code. In the following example, Visual Basic implicitly converts the value of k to a single-precision floating-point value before assigning it to q.
Dim k As Integer
Dim q As Double
' Integer widens to Double, so you can do this with Option Strict On.
k = 432
q = K
An explicit conversion uses a type conversion keyword. Visual Basic provides several such keywords, which coerce an expression in parentheses to the desired data type. These keywords act like functions, but the compiler generates the code inline, so execution is slightly faster than with a function call.
مما سبق نلاحظ ان
التحويل ليس بين الانواع
ولكن بين القيم
كما ان المباشر هو من لا يحتاج الى كلمات او دوال
والغير مباشر هو الذي يعتمد على كلمات ودوال للتحويل
بالرجول الي القيم نجد ان اكبر القيم هي قيم double
For +ve values approximately 4.9*10-324
to
1.8*(10)
+308
For -ve values approximately -1.8*10+308
to -
4.9*(10)
-324
And 0
ويليها في الصغر single
For +ve values approximately1.4*(10)
-45
to
3.4*(10)
+38
For -ve values approximately -3.4*(10)
+38
to
1.4*(10)
-45
And 0
ثم decimal
ثم long ثم integer ثم short
وعليه الحيرة ان كتاب المدرسي قد ذكر ان التحويل بين الانواع
والحقيقة انه بين القيم التى يمكن تخزينها في تلك الانواع
جزاكم الله خيرا ولكن لي ملاحظة
كيف لا يمكن التحويل من double و single الى decimal بالرغم من ان الاخير هو الاكبر 16 خانة
حضرتك تقصد 16 Byte وأيضا 29 خانة
سيف سالم 12-03-2010, 06:05 PM جزاكم الله خيرا ولكن لي ملاحظة
كيف لا يمكن التحويل من double و single الى decimal بالرغم من ان الاخير هو الاكبر 16 خانة
حضرتك تقصد 16 Byte وأيضا 29 خانة
التحويل ليس من duble الى decimal او العكس
ولكن التحويل بين القيمة التى تخزن في double هذه القيمة لا يمكن تحويلها مباشرة لتخزن في decimal
لان القيمة التي يمكن تخزينها في double
For +ve values approximately 4.9*10-324
to
1.8*(10)
+308
For -ve values approximately -1.8*10+308
to -
4.9*(10)
-324
And 0
هذه القيمة اكبر بكثير
من القيمة التي تخزن في decimal والتي هي79228162514264337593543950335 سالب وموجب
والكبير لا يمكن تحويله للصغير اللا بالطرق غير مباشرة
سليم سلامة 12-03-2010, 09:59 PM التحويل ليس من duble الى decimal او العكس
ولكن التحويل بين القيمة التى تخزن في double هذه القيمة لا يمكن تحويلها مباشرة لتخزن في decimal
لان القيمة التي يمكن تخزينها في double
For +ve values approximately 4.9*10-324
to
1.8*(10)
+308
For -ve values approximately -1.8*10+308
to -
4.9*(10)
-324
And 0
هذه القيمة اكبر بكثير
من القيمة التي تخزن في decimal والتي هي79228162514264337593543950335 سالب وموجب
والكبير لا يمكن تحويله للصغير اللا بالطرق غير مباشرة
بارك الله فيك
خالد سعد شومان 13-03-2010, 12:30 AM أولا مشكور جداً على المجهود الطيب والعلم الغزير الذي نتعلم منه جميعا.
لاكن يبقى سؤال كيف يتم تخزين هذه القيم في النوع double والدقة المسموح بها هي 15 خانة , في حين أن المدي المذكور يذيد عن الـ 15 خانة . كيف التوفيق بين المدى والقه سواء لهذا النوع أو النوع single ?
مع ملاحظة عدم وجود هذه المشكلة مع النوع decimal
ممدوح مصطفى الانصارى 13-03-2010, 12:35 AM جزاكم الله خيرا
زميلى الكريم
الاستاذ / سيف سالم
زادكم الله من فضله وخالص الدعوات
http://abeermahmoud.jeeran.com/342-jzaaka.gif
kinghero 13-03-2010, 10:08 AM الف مليون شكر يا استاذ سيف قد فهمت ماذا تقصد وشكرا علي التوضيح الجميل بارك الله فيك
tarek elhamy 13-03-2010, 02:00 PM شكرا علي التوضيح الجميل بارك الله فيك
سيف سالم 13-03-2010, 04:10 PM أولا مشكور جداً على المجهود الطيب والعلم الغزير الذي نتعلم منه جميعا.
لاكن يبقى سؤال كيف يتم تخزين هذه القيم في النوع double والدقة المسموح بها هي 15 خانة , في حين أن المدي المذكور يذيد عن الـ 15 خانة . كيف التوفيق بين المدى والقه سواء لهذا النوع أو النوع single ?
مع ملاحظة عدم وجود هذه المشكلة مع النوع decimal
بارك الله لك
ستجد الاجابة في هذا الموضوع
http://www.thanwya.com/vb/showthread.php?t=191437
سيف سالم 13-03-2010, 04:12 PM شكرا ياباشا انت شرف لنا بارك اله فيكم
بارك الله لكم
سيف سالم 13-03-2010, 04:12 PM كل التحية والتقدير للقائد سيف باشا سالم :078111rg3: اكبر موسوعه علمية بالمنتدي
بارك الله لكم
سيف سالم 13-03-2010, 04:12 PM بارك الله فيك
بارك الله لكم
سيف سالم 13-03-2010, 04:12 PM جزاك الله خيرا
بارك الله لكم
سيف سالم 13-03-2010, 04:13 PM جزاكم الله خيرا
زميلى الكريم
الاستاذ / سيف سالم
زادكم الله من فضله وخالص الدعوات
http://abeermahmoud.jeeran.com/342-jzaaka.gif
بارك الله لكم
استاذنا / ممدوح مصطفى الانصارى
سيف سالم 13-03-2010, 04:13 PM الف مليون شكر يا استاذ سيف قد فهمت ماذا تقصد وشكرا علي التوضيح الجميل بارك الله فيك
بارك الله لكم
سيف سالم 13-03-2010, 04:13 PM شكرا علي التوضيح الجميل بارك الله فيك
بارك الله لكم
اسلام عمر 1 13-03-2010, 09:01 PM بارك الله لكم وجزاكم الله خيرا
tarekhash 14-03-2010, 09:27 AM شكرا يا سيف يا جامد قوى
تامر سيد احمد محمد 14-03-2010, 10:58 AM الكبير كبير يا أستاذ سيف http://abeermahmoud.jeeran.com/342-jzaaka.gif
سيف سالم 14-03-2010, 03:42 PM بارك الله لكم وجزاكم الله خيرا
بارك الله لكم
سيف سالم 14-03-2010, 03:42 PM شكرا يا سيف يا جامد قوى
بارك الله لكم
سيف سالم 14-03-2010, 03:43 PM الكبير كبير يا أستاذ سيف http://abeermahmoud.jeeran.com/342-jzaaka.gif
بارك الله لكم
مستر وائل ربيع 14-03-2010, 07:07 PM بارك الله فيك
سيف سالم 14-03-2010, 09:03 PM بارك الله فيك
بارك الله لكم
bright.light**** 17-03-2010, 10:29 PM جزاك الله خيرا استاذنا العظيم
خالد سعد شومان 17-03-2010, 11:38 PM الأستاذ الفاضل/ سيف بعد وافر التحية
لي سؤال خاص بالمقدمة الموجودة في الكتاب المدرسي الخاص بالفصل الأول من الترم الثاني
والخاص بالسعة التخزينية للخلية الواحدة والمذكور فيها أنها إما حرفاً واحداً وإما أرقام من (– 128) إلى (+ 127) للأرقام الصحيحة , أما الأرقام ذات الكسور العشرية والأرقام الأكبر من+ 127, والأرقام الأصغر من– 128 تحتاج أكثر من خلية .
وهذا يتعارض مع المدى الخاص بالنوع Byte والنوع Char .
فكيف التوفيق بين المعلومتين ؟
ولكم جزيل الشكر والعرفان
Mahmoud EL-serafy 18-03-2010, 06:55 AM جزاك الله خيرا يا استاذ سيف
وانا كنت عايز اقول ان كتاب المدرسة مينفعش حد يذاكر فيه
معقد و ملخبط
Sci_MaHmoUd 18-03-2010, 02:33 PM شكــرا ياستاذ سيف
وبكده انت جاوبتلى على سوالى السابق
Sci_MaHmoUd 18-03-2010, 02:34 PM الأستاذ الفاضل/ سيف بعد وافر التحية
لي سؤال خاص بالمقدمة الموجودة في الكتاب المدرسي الخاص بالفصل الأول من الترم الثاني
والخاص بالسعة التخزينية للخلية الواحدة والمذكور فيها أنها إما حرفاً واحداً وإما أرقام من (– 128) إلى (+ 127) للأرقام الصحيحة , أما الأرقام ذات الكسور العشرية والأرقام الأكبر من+ 127, والأرقام الأصغر من– 128 تحتاج أكثر من خلية .
وهذا يتعارض مع المدى الخاص بالنوع byte والنوع char .
فكيف التوفيق بين المعلومتين ؟
ولكم جزيل الشكر والعرفان
انا لاحظتها وهيا حاجه تحير فعلا
وكتاب المدرسه لا تعليق
maxval 19-03-2010, 01:18 AM ربنا ينفعنا بعلمك ................ جزيت خيرا
sherifeltabakh 24-03-2010, 05:11 PM مناقشة ممتعة والأكيد كلنا مستفيدين من هذا النقاش الرائع
tarek elhamy 06-04-2010, 07:33 PM شكرا علي التوضيح الجميل بارك الله فيك
mr.mour 06-04-2010, 08:45 PM الف شكر على المجهود الرائع وجزاك الله خيرا
ghoneem84 15-04-2010, 12:42 PM بارك الله فيك
|