smm1378 2 ارسال شده در 22 بهمن، ۱۳۹۵ اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۵ سلام دوستان . در b4a برای محاسبه توان از کلس power استفاده میشه. این کلس در اعداد بزرگ کار نمیکنه! مثلا جواب power(900,2) و power(999,2) رو یک عدد نشون میده!(از یک عددی بیشتر نشون نمیده. برای محاسبه توان یک الگوریتم لازم داشتم.(خیلی روش فکر کردم و به یک جاهایی هم رسیدم ولی نشد!) لطفا کمک کنید شدیدا نیازه. پیشاپیش ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 22 بهمن، ۱۳۹۵ اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۵ در ۱ ساعت قبل، smm1378 گفته است : سلام دوستان . در b4a برای محاسبه توان از کلس power استفاده میشه. این کلس در اعداد بزرگ کار نمیکنه! مثلا جواب power(900,2) و power(999,2) رو یک عدد نشون میده!(از یک عددی بیشتر نشون نمیده. برای محاسبه توان یک الگوریتم لازم داشتم.(خیلی روش فکر کردم و به یک جاهایی هم رسیدم ولی نشد!) لطفا کمک کنید شدیدا نیازه. پیشاپیش ممنون با سلام دوست عزیز چون حاصل توان عدد بزرگی میشه و متغیر ها محدوده دارن پس باید از یه متغیر عددی بزرگ استفاده کنید یعنی متغیر long و اول حاصل رو بریزید توی متغییر بعد هر جا خواستید بزارید اینجوری Dim a As Long a = power (90000 , 2) Label1.Text = a امتحان کنید حتما درست میشه موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
smm1378 2 ارسال شده در 22 بهمن، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۵ در 50 دقیقه قبل، sbr گفته است : با سلام دوست عزیز چون حاصل توان عدد بزرگی میشه و متغیر ها محدوده دارن پس باید از یه متغیر عددی بزرگ استفاده کنید یعنی متغیر long و اول حاصل رو بریزید توی متغییر بعد هر جا خواستید بزارید اینجوری Dim a As Long a = power (90000 , 2) Label1.Text = a امتحان کنید حتما درست میشه موفق باشید سلام. خیلی ممنون تا یک حدی درست شد! الان اعداد بزرگ رو نشون میده ولی در اعداد خیلی بزرگ خنوز مشکل داره! بزرگترین عددی که نشود میده : "9223372036854775806" هست! نمیشه کاری کرد از این بزرگ تر نشون بده؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sbr 233 ارسال شده در 22 بهمن، ۱۳۹۵ اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۵ در 2 ساعت قبل، smm1378 گفته است : سلام. خیلی ممنون تا یک حدی درست شد! الان اعداد بزرگ رو نشون میده ولی در اعداد خیلی بزرگ خنوز مشکل داره! بزرگترین عددی که نشود میده : "9223372036854775806" هست! نمیشه کاری کرد از این بزرگ تر نشون بده؟ والا دیگه نمیدونم تا هرچی امتحان میکنم اصلا جواب نمیده با کتابخونه BigNumber هم امتحان میکنم بازم جواب بیشتر از 9223372036854775806 نمیده حالا واسه چیتون هست اینقدر عدد بزرگ؟؟؟؟؟؟؟؟؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 22 بهمن، ۱۳۹۵ اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۵ سلام اینطور که معلومه متغیر جا نداره عدد رو توی خودش بریزه و ذخیره نگه داره. الان شما بیاین جواب بدست اومده رو داخل یک فایل توی حافظه ذخیره کنید و دوباره اونو بازخوانی کنید، مطمئن نیستم اما شاید جواب بده. مثال: File.WriteString(File.DirInternal,"tavan1", Power (90000 , 2)) 'ذخیره' Msgbox(File.ReadString(File.DirInternal,"tavan1"),"javab") 'خواندن و نمایش جواب' لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
smm1378 2 ارسال شده در 22 بهمن، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 22 بهمن، ۱۳۹۵ در 2 ساعت قبل، پژمان نیکروان گفته است : سلام اینطور که معلومه متغیر جا نداره عدد رو توی خودش بریزه و ذخیره نگه داره. الان شما بیاین جواب بدست اومده رو داخل یک فایل توی حافظه ذخیره کنید و دوباره اونو بازخوانی کنید، مطمئن نیستم اما شاید جواب بده. مثال: File.WriteString(File.DirInternal,"tavan1", Power (90000 , 2)) 'ذخیره' Msgbox(File.ReadString(File.DirInternal,"tavan1"),"javab") 'خواندن و نمایش جواب' ممنون از همه دوستان. این کار تو گوشی غیر ممکن هست! چون int دوبل 16 بیت هست پس میشه bin 1111 1111 1111 1111 پس نمیتونه بیشتر از عدد 4294967295 هست . متغییر Long میاد محاسبه رو به صورت 32 بیتی انجام میده که همیشه 1 بیت از حافظه گوشی برای ذخیره rlo ها 1 هست پس این متغیر هم میتونه فقط تا عدد 9223372036854775807 رو محاسبه کنه! در کامپیوتر با توجه به اینکه حافظه rlo از cpu به ram منتقل شدههیچ بیتی مشغول نیست پس میتونه تا 256 بیت باینری رو برای محاسبات استفاده کنه!برای همین در کامپیتر و گوشی همیشه این اعدا به صورت توان دار محاسبه میشوند. تنها تفاوت در مقدار توان هاست!در گوشی اعداد کوچکتر و توان بیشتر میشه و در کامپیتر برعکس. موفق باشید :» لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
smm1378 2
سلام دوستان .
در b4a برای محاسبه توان از کلس power استفاده میشه.
این کلس در اعداد بزرگ کار نمیکنه!
مثلا جواب power(900,2) و power(999,2) رو یک عدد نشون میده!(از یک عددی بیشتر نشون نمیده.
برای محاسبه توان یک الگوریتم لازم داشتم.(خیلی روش فکر کردم و به یک جاهایی هم رسیدم ولی نشد!)
لطفا کمک کنید شدیدا نیازه.
پیشاپیش ممنون
لینک ارسال
به اشتراک گذاری در سایت های دیگر
5 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.