View Full Version : ذخیره اعداد بسیار بزرگ (طولانی) در متغیر
hamidhws
جمعه 14 خرداد 1389, 14:36 عصر
خیلی خیلی ممنونم دوست عزیز
:قلب:
راستش 1 سوال دیگم داشتم اونم اینکه اگه خواستیم یه عدد خیلی خیلی خیلی بزرگ رو توی متغیری بریزیم باید چیکار کرد؟
integer long و حتی string رو هم امتحان کردم اما جا نشد به نظر شما باید چیکار کرد ؟ آیا متغیر بزرگتری هم هست؟
در ضمن اگه صلاح دونستید بفرمایید تا برای این سوال یه تاپیک جداگانه باز کنم
با تشکر فراوان
Mohamad ghorbani
جمعه 14 خرداد 1389, 19:44 عصر
اگه خواستیم یه عدد خیلی خیلی خیلی بزرگ رو توی متغیری بریزیم باید چیکار کرد؟
integer long و حتی string رو هم امتحان کردم اما جا نشد به نظر شما باید چیکار کرد ؟ آیا متغیر بزرگتری هم هست؟
سلام . . .
اگه می خوای از نوع عددی باشه از نوع Decimal تعریف کن. این متغییر 12 بایت فضا رو اشغال می کنه و با بیل هم پر نمیشه !
اگه می خوای غیر عددی باشه از نوع String تعریف کن
hamidhws
جمعه 14 خرداد 1389, 19:57 عصر
ممنونم دوست عزیز
دوست عزیز من از vb portable استفاده میکنم ولی توش decimal نداره!
دلیلش چیه؟
Mohamad ghorbani
جمعه 14 خرداد 1389, 20:03 عصر
ممنونم دوست عزیز
دوست عزیز من از vb portable استفاده میکنم ولی توش decimal نداره!
دلیلش چیه؟
خوب اگه نمیشه از نوع variant معرفی کن.
hamidhws
جمعه 14 خرداد 1389, 20:53 عصر
ممنون دوست عزیز اما اینم براش کمه
راستش میخوام فاکتوریل 256 رو محاسبه کنم
hamidhws
شنبه 15 خرداد 1389, 02:18 صبح
راستش فاکتوریل 256 رو محاسبه کردم شد این:
85781777534284265411908227168123262515778152027948 56198596556503772694525531475893774402913604514084 50375885342336584306157196834693696475322289288497 42602567963733256336878644267520762679456018796886 79715211433077020775266464514647091873261008328763 25702818980773671781454170250523018608495319068138 25748107025281755945947698703466571273813928620523 47568082188607012036110831520935019474371091017269 68262861606263662435022840944191408424615936000000 00000000000000000000000000000000000000000000000000 0000000 (0xff578f57c15bb743beaa77d27637e02b598dffa9aebd158 89187fe6eb3bdca516c3fa1a52eabef31f33b4b8c2e5b5524f 1aa4f3329393912f40dbbe23d7f39723e0be05b6696b11f8ee a0abe365a11d9f2735ac7e5b4e015ab19b35b84893685b37a9 a0a62a566d6571d7e00d4241687f5c804f37cde9bf311c0781 f51cc007c5a01a94f6cfcecea640b8e9ab7bd43e73e5df5d0e 1eeb4d9b6cc44be67b7cad80808b17869561b579ffe0bbdeca 5c83139e458000000000000000000000000000000000000000 000000000000000000000000)
(برای راحت تر دیدن مقدار اونو توی notepad کپی کنید)
حالا میخوام بدونم چند بیت برا این مقدار لازمه؟
راستش برنامشو خودم نوشتم اما این مقدار رو overflow میده
ممنون میشم اگه راهنمایی کنید
REZADG
شنبه 15 خرداد 1389, 05:27 صبح
عزیز variant که مقدار نداره پر بشه و خطا بده همون ورینت خوبه ها
vbhamed
شنبه 15 خرداد 1389, 11:33 صبح
سلام
براي اين كار بايد جمع و ضرب رشته اي انجام بدين
يعني با عدد مثل رشته رفتار كنيد و طبق روش جمع و ضرب دستي روي كاغذ عمل كنيد
البته فكر كنم نمونش تو سايت هست
xxxxx_xxxxx
شنبه 15 خرداد 1389, 18:15 عصر
عملیات بر روی اعداد بزرگ ( Large Number Operations ) (http://barnamenevis.org/forum/showthread.php?t=130577)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.