امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
اعداد جنی !!!!!!!!!!!
نویسنده پیام
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #12
RE: اعداد جنی !!!!!!!!!!!
NabiKAZ نوشته است:
Payman62 نوشته است:x = 20 + 20
x = 200 + 200
x = 2000 + 2000
x = 20000 + 20000
x = 200000 + 200000
x = 2000000 + 2000000
x = 20000000 + 20000000
x = 200000000 + 200000000
x = 2000000000 + 2000000000
x = 20000000000 + 20000000000

در اين مورد ميخواستم بگم شايد مثلا تا موقعي كه اعداد 5 رقمين اندازه اينتجر فضا ميده. ولي تعداد اعداد كه زياد ميشه اندازه دوبل و لانگ فضا ميده. ولي اگه از همون اول x رو لانگ هم تعريف كنيد سر 20000+20000 خطاي سر ريز ميده.

من که با استدلال شما مخالفم ! به خاطر اینکه مبنای کامپیوتر و برنامه های کامپیوتری تعداد ارقام نیست . بلکه بایت حافظه است. و به عنوان مثال فرضاً در مورد متغییر های integer اصلا ویژوال بیسیک تفاوتی بین 3 و 33 و 333 و 3333 قائل نیست چون در محدوده حافظه مجاز هستند و اونها رو مجاز میدونه ولی بین اونها و عدد 33333 تفاوت قائل میشه ، البته تفاوت ناشی از تعداد زیاد ارقام نیست! بلکه در میزان فضای غیر مجاز اشغالی است.

در مورد مثال بالا هم که بنده عرض کردم عجیب است! واقعا عجیب است!

تشکر
نبی
منم همين متظور رو داشتم. ولي خودموني بيان كردم. خودمم كه در ادامه گفتم اشتباه است.
۱۴-اردیبهشت-۱۳۸۵, ۱۳:۱۲:۰۸
ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #13
RE: اعداد جنی !!!!!!!!!!!
نقل قول: اگر standard Programming را رعایت کنیم هیچ وقت این مشکلات پیش نمی آید.
این حرف شما درسته
بلاخره وی بی رو برای افراد که می خوان برنامه نویسی رو شروع کنن ساختن
خیلی چیزا رو توش شل گرفتن مثل معرفی متغییر و ... ( کاری با Option Explicit نداریم )
درکل قدرت کامل در برنامه نویسی رو در اختیار آدم نمی زاره
یه نمونش همین مدیریت حافظه هست
۱۴-اردیبهشت-۱۳۸۵, ۱۳:۴۱:۰۲
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #14
RE: اعداد جنی !!!!!!!!!!!
نقل قول: کسی فهمید حامد چی گفت ؟!
اشتباه برداشت نشه . اشکال کار از IQ بنده است. شرمنده ....

پ.ن: راستی مبارکه میبینم که مدیر انجمن موبایل شدی . جدی جدی حالا خوره ای تو این زمینه ؟ من میخوام برا p910i برنامه بنویسم میتونی کمکم کنی؟

چاکریم
کسی فهمید حامد کیه؟
هیچی بابا می گم 20000 اینتیجر هست ولی جمعش با خودش اینتیجر نیست برای همین سرریز می کنه وی بی برای تشخیص نوع عدد اینتیجر یا لانگ یا استرینگ به اعداد نگاه می کنه چون اینااینتیجر هستند کل رو اینتیجر می گیره که سر ریز می کنه ولی مثلا تو عدد بعدی دیگه اینتیجر نیست مثلا می شه لانگ که مشکل نداره تا اونجا که خودش لانگ باشه جمعش لانگ نباشه
خوب شد گفتی مدیر شدم برم ببینم این انجمن کجاست ;) اگه سیمبین سا جاوا بنویسی شاید

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
(آخرین ویرایش در این ارسال: ۱۵-اردیبهشت-۱۳۸۵, ۰۹:۴۵:۰۸، توسط ha_60.)
۱۵-اردیبهشت-۱۳۸۵, ۰۹:۳۶:۵۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
NabiKAZ آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 520
موضوع‌ها: 48
تاریخ عضویت: اسفند ۱۳۸۲

تشکرها : 6
( 60 تشکر در 46 ارسال )
ارسال: #15
RE:  اعداد جنی !!!!!!!!!!!
esmaeily-hosein نوشته است:به نظر من این عبارت را فکر میکنم از نوع رشته در نظر میگیرد .
چون دقیقا این عمل برای رشته نیز میتواند انجام شود .
راه حل :x=val(20000)+val(20000) میباشد همین .
علامت تقسیم : سبب میشود اعداد را به صورت رشته در نظر نگیرد .

به نظر من این مشکل نیست این بستگی به نوع طراح کامپایلر دارد .
که اعداد را چگونه تشخیص دهد .

در ضمن بیلی سلطان برنامه نویسی جهان میباشد هر برنامه نویس
وظیفه دارد به او احترام بگذارد.

اگر standard Programming را رعایت کنیم هیچ وقت این مشکلات پیش نمی آید.


من فکر میکردم تنها زمانی که از "" استفاده بشه عبارت رو رشته ای فرض میکنه !

تازه به صورت رشته هم که در نظر بگیره دلیل بر خطای سرریز نمیشه !

فکر میکنم به قضیه رشته ای و عددی بودن اونها مربوط نباشه ، یعنی دستور val() قبل از اینکه اونها رو عددی کنه ، داره فضای بیشتری برای مقدار ورودیش اختصاص میده ! یعنی درسته که 20000 اینتجر است ولی val(20000) اینتجر نیست و این به خاطر فضای اضافیست که val() برای عدد در نظر میگیرد.
این نظر شخصی من بود. درسته ؟!

ولی با استدلال ha_60 حال کردم . فکر میکنم حرفش درست باشه . چون این تنها دلیلیه که از بین اون همه عملیات ریاضی که نوشتم ، اجرا نشدن تنها اون دو دستور رو توجیه میکنه ! خط قرمز اول به خاطر اینکه دو عدد اینتجر فرض میشن اما جمعشون از اینتجر بیشتر میشه . خط قرمز دومی به خاطر اینکه دو عدد لانگ هستند ولی جمعشون از لانگ بیشتر میشه !
در واقع زمانی که دو عدد رو به صورت متغییر با هم جمع میکنیم سبب میشه اون دو متغییر نه اینتجر نه لانگ فرض بشه بلکه variant میباشن که جمع دو عدد از نتیجه معمولا بزرگتر نمیشه و حطا نمیگیره . امیدوارم تونسته باشم منظور رو برسونم .


ضمنا ما چاکر بیلی هم هستیم ، قصد توهین نداشتم ، فقط شوخی کردم ؟! حالا راستشو بگو چه نسبتی با تو داره که جوش اوردی ;)

چاکریم

(آخرین ویرایش در این ارسال: ۱۶-اردیبهشت-۱۳۸۵, ۰۲:۵۸:۵۸، توسط NabiKAZ.)
۱۶-اردیبهشت-۱۳۸۵, ۰۲:۲۵:۴۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
NabiKAZ آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 520
موضوع‌ها: 48
تاریخ عضویت: اسفند ۱۳۸۲

تشکرها : 6
( 60 تشکر در 46 ارسال )
ارسال: #16
RE:  اعداد جنی !!!!!!!!!!!
ha_60 نوشته است:
نقل قول: کسی فهمید حامد چی گفت ؟!
اشتباه برداشت نشه . اشکال کار از IQ بنده است. شرمنده ....

پ.ن: راستی مبارکه میبینم که مدیر انجمن موبایل شدی . جدی جدی حالا خوره ای تو این زمینه ؟ من میخوام برا p910i برنامه بنویسم میتونی کمکم کنی؟

چاکریم
کسی فهمید حامد کیه؟
هیچی بابا می گم 20000 اینتیجر هست ولی جمعش با خودش اینتیجر نیست برای همین سرریز می کنه وی بی برای تشخیص نوع عدد اینتیجر یا لانگ یا استرینگ به اعداد نگاه می کنه چون اینااینتیجر هستند کل رو اینتیجر می گیره که سر ریز می کنه ولی مثلا تو عدد بعدی دیگه اینتیجر نیست مثلا می شه لانگ که مشکل نداره تا اونجا که خودش لانگ باشه جمعش لانگ نباشه
خوب شد گفتی مدیر شدم برم ببینم این انجمن کجاست ;) اگه سیمبین سا جاوا بنویسی شاید


اهان حالا گرفتم داستان چی شد !
از استدلالت خوشم اومد. باهات موافقم ! توضیح بیشتر رو تو پست بالایی دادم .

در تایید فرمایشات شما و مثال عملی ، این رو مینویسم:
(میدانیم بزرگترین عدد در نوع اینتجر عدد 32767 می باشد)

x = 32766 + 1
عبارت بالا صحیح می باشد چون دو عدد اینتجر هستند و جمع آنها نیز باید اینتجر شود که هست!


x = 32767 + 1
عبارت بالا صحیح نمی باشد چون دو عدد اینتجر هستند ولی جمع آنها اینتجر نمیشود !!!

x = 32768 + 1
عبارت بالا صحیح می باشد چون بزرگترین عدد اینتجر نیست ! بلکه لانگ فرض شده است در نتیجه حاصل باید در محدوده لانگ شود ، که هست !

---
در مورد سیمبین هم . ترجیح میدم با ویژوال بیسیک بنویسم . یه پلاگین هست که رو وی بی سوار میشه که امکان برنامه نویسی برای موبایل رو به وی بی میده اسمش فکر کنم mobile2vb بود. با این نمیشه کاری کرد؟ من که هر چی کردم دون لودش نتونستم کنم.

چاکریم

(آخرین ویرایش در این ارسال: ۱۶-اردیبهشت-۱۳۸۵, ۰۲:۵۰:۰۵، توسط NabiKAZ.)
۱۶-اردیبهشت-۱۳۸۵, ۰۲:۲۷:۵۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #17
RE: اعداد جنی !!!!!!!!!!!
تا اونجا که من می دونم این پلاگین ها پولی هستند و کرکشون رو هم راحت پیدا نمی کنی
یکیشون رو هم که من دیدم یه QBasic مجازی بود که اصلا هم قشنگ نبود حالا نمی دونم هر جور راحتی

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۶-اردیبهشت-۱۳۸۵, ۰۶:۴۵:۳۵
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  راهنمای در خصوص برنامه ی زیر...جمع اعداد vbir96 3 3,762 ۲۴-فروردین-۱۳۹۵, ۱۵:۵۰:۳۱
آخرین ارسال: Ghoghnus
Question ترتیب اعداد !!!! 1120 22 26,810 ۰۴-آذر-۱۳۹۳, ۰۳:۰۰:۴۶
آخرین ارسال: amirtm98
  [سوال] جدا کردن اعداد 11 رقمی arviiin 8 7,877 ۱۵-شهریور-۱۳۹۳, ۱۴:۴۱:۵۶
آخرین ارسال: arviiin
Question جمع اعداد میلیاردی mohsen0025 4 4,683 ۲۲-مرداد-۱۳۹۲, ۲۲:۲۳:۰۹
آخرین ارسال: mohsen0025
  تبدیل عدد ده دهی به اعداد باینری و هگزا و دسیمال jaber 4 21,326 ۰۶-دى-۱۳۹۱, ۱۴:۴۸:۰۶
آخرین ارسال: Ghoghnus
Rolleyes مشکل در تقسیم اعداد اعشاری (خیلی خیلی فوری arashkhan 5 11,657 ۰۴-شهریور-۱۳۸۹, ۱۱:۴۹:۵۱
آخرین ارسال: far_222000
  سوال در مورد اعداد تصادفی toytown 6 8,681 ۰۳-مرداد-۱۳۸۹, ۲۱:۱۸:۲۰
آخرین ارسال: dreamvbfox
  درخواست کد اعداد ترتیبی jaber 2 2,881 ۱۰-خرداد-۱۳۸۹, ۱۵:۵۷:۲۶
آخرین ارسال: jaber
  توليد اعداد تصادفي 4 رقمي بدون تكرار با ويژوال بيسيك 6 نارينا 1 8,195 ۰۴-آذر-۱۳۸۶, ۰۲:۵۹:۴۲
آخرین ارسال: Mamad2003
  نوشتن اعداد به فارسي seyyed 5 5,988 ۲۹-مهر-۱۳۸۵, ۱۸:۰۸:۱۸
آخرین ارسال: mr_vahid

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS