View Full Version : ذخیره عدد بزرگتر از int
elham1985
چهارشنبه 06 اردیبهشت 1391, 00:22 صبح
سلام.
بچه ها بهترین نوع داده، برای ذخیره عدد بین 8 تا 20 رقم چیه؟
tiphooo
چهارشنبه 06 اردیبهشت 1391, 02:30 صبح
به نظر من Decimal از همه بهتر است طول آن دست خودتان است مشکلات Real و Float را هم ندارد
elham1985
چهارشنبه 06 اردیبهشت 1391, 22:29 عصر
ممنون.ولی شنیدم decimal کنده. توی یه مقاله هم نوشته بود استفاده ازش توصیه نمیشه.
bigInt تا چند رقم رو میتونه؟
mahan.2002
چهارشنبه 06 اردیبهشت 1391, 23:08 عصر
سلام
از char استفاده کن بعد برای محاسبات تبدیلش کن.
Felony
پنج شنبه 07 اردیبهشت 1391, 06:19 صبح
سلام
از char استفاده کن بعد برای محاسبات تبدیلش کن.
خود Typecast کردن برای سیستم کلی سر بار داره .
حمیدرضاصادقیان
پنج شنبه 07 اردیبهشت 1391, 15:13 عصر
سلام.
نوع Bigint تا 19 رقم رو ساپورت میکنه و 8 بایت فضا اشغال میکنه.
char به میزان فضایی که براش در نظر میگیرید بایت اشغال میکنه.
شما اول بفرمائید عدد به این بزرگی رو برای چه کاری میخواهید شاید راه حل های بهتری براش در نظر گرفته بشه.
اگر واقعا 20 رقم نیاز دارید که میتونید از نوع Decimal استفاده کنید برای 20 تا 28 رقم فقط 13 بایت اشغال میکنه و سرعتش باز در کوئری نویسی سریعتر از نوع char هست.
omidamiry
پنج شنبه 07 اردیبهشت 1391, 16:21 عصر
فقط ن.ع کاراکتر یا رشته چون فضای بیهوده کمتری اشغال میکنه ولی در محاسبات اذیت داره
حمیدرضاصادقیان
جمعه 08 اردیبهشت 1391, 00:23 صبح
فقط ن.ع کاراکتر یا رشته چون فضای بیهوده کمتری اشغال میکنه ولی در محاسبات اذیت داره
دوست عزیز برچه مبنایی این حرف رو میزنید؟ که فضای بیهوده کمتری میگیره؟ منظورتون دقیقا کدوم نوع هست؟؟
mahan.2002
جمعه 08 اردیبهشت 1391, 01:51 صبح
خود Typecast کردن برای سیستم کلی سر بار داره .
دوست عزیز می تونی بفرمایید سربارش چقدر هست ..!
حمیدرضاصادقیان
جمعه 08 اردیبهشت 1391, 02:31 صبح
دوست عزیز می تونی بفرمایید سربارش چقدر هست ..!
شما وقتی یک فیلدی رو typeCast میکنید درواقع یک تابع صدا زده میشه. هرچی شما بتونید به صورت مستقیم روی داده ها کار کنید خیلی بهتره که بخواهید از توابع استفاده کنید.
به جز این سرعت پردازش عددی روی فیلدهای عددی بیشتره تا رشته ای.
اگر فرض کنیم بخواد عملیات ریاضی هم انجام بده اینجا استفاده از TypeCast برای هر عملی باعث کاهش بازدهی میشه.
به جز همه این موارد هنوز دوستی که سوال رو پرسیده بیان نکرده این اعداد برای چی هستند. و قراره چه نوع اطلاعاتی رو نگهداری کنند؟
elham1985
جمعه 08 اردیبهشت 1391, 19:04 عصر
برای نگهداری یک سری هزینه ها میخوام. و محاسبات هم برام مهمه.
البه به نظرم نهایت 12 رقم لازم باشه، ولی استادمون گفته تا بالاتر رو هم پشتیبانی کنه!
اگر bigInt تا 19 رقم رو پشتیبانی میکنه، پس فکر کنم همین خوب باشه. درسته؟
حمیدرضاصادقیان
شنبه 09 اردیبهشت 1391, 09:43 صبح
بله. برای این کاربرد که همون bigint بهترین گزینه هست.
elham1985
شنبه 09 اردیبهشت 1391, 20:28 عصر
میشه بگید int نهایتا چند رقم را قبول میکند؟
و کلا اگر مقاله یا سایتی در این زمینه وجود دارد(انواع متغیرها، مزایا و معایب و...)، میشه معرفی کنید؟
ممنون
حمیدرضاصادقیان
یک شنبه 10 اردیبهشت 1391, 09:22 صبح
بهترین منبع برای شما Books Online هست. بالاترین رنج Int 10 رقم تا 2 میلیارد هست.
elham1985
یک شنبه 10 اردیبهشت 1391, 11:52 صبح
ممنون.
ببخشيد من متوجه فرق اين دو تا نميشم:
int .... 2milliard
bigInt.....4milliard
2,4 milliard، هر دو مگه نميشه 10 رقم؟!
حمیدرضاصادقیان
یک شنبه 10 اردیبهشت 1391, 12:49 عصر
bigint تا 4 میلیارد نیست رنجش رو براتون نوشتم.(حداقل من نتونستم بخونم!!:گیج:)
ولی int تا 2,147,483,647 و bigint تا 9,223,372,036,854,775,807
elham1985
یک شنبه 10 اردیبهشت 1391, 14:22 عصر
ممنون.
نه، نگفتم شما گفتيد، من اين موضوع رو توي جزوه sql يكي از موسسات آموزشي خونده بودم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.