PDA

View Full Version : انتخاب متغییر



aidin110
چهارشنبه 25 بهمن 1391, 22:10 عصر
سلام.
بچه ها فکر میکنید برای این که تو نرم افزار حسابداری کل درآمد و فروش رو نشون بدیم ، متغییر longlong int رو انتخاب کنیم کفایت میکنه؟!؟ یا از رشته استفاده کنیم؟

متغییر مذکور عددی به اندازه 999.999.999.999.999.999 رو تو خودش ذخیره میکنه...

mahak006
چهارشنبه 25 بهمن 1391, 23:50 عصر
سلام.
بچه ها فکر میکنید برای این که تو نرم افزار حسابداری کل درآمد و فروش رو نشون بدیم ، متغییر longlong int رو انتخاب کنیم کفایت میکنه؟!؟ یا از رشته استفاده کنیم؟

متغییر مذکور عددی به اندازه 999.999.999.999.999.999 رو تو خودش ذخیره میکنه...

شما امتحان کردید که اصلا میشه long long int داشت یا نه ؟؟؟
short int یه عددصحیح 16bit هست ( int 16-bit )
int یه عدد صحیح 32bit هست .
long int عدد صحیح 64bit هست .
در واقع این ۳ نوع رو می شه به وسیله رجیستر های CPU به طور مستقیم تعریف کرد . در حالی که چیزی که شما میگین میشه 128bit که در حالت معمولی قابل دسترس نیست . مگر با استفاده از الگوریتم های خاصی که عملگر ها رو روی دو 64bit کنار هم اعمال می کنند ، بشه چنین چیزی رو ایجاد کد که بستگی به کامپایلر و زبان برنامه نویسی انتخابی داره . من که تا حالا نشنیدم .
شما هم تعداد بیت ها رو که داشته باشی ، می تونی راحت بفهمی که تا چه عددی رو می تونه بگیره .یه بیت بره علامت مثبت و منفی استفاده می شه و بیت های دیگه ، عدد رو میسازن . حالا اگه unsigned تعریف کنی ، اون بیت علامت هم بره ساخت عدد به کار می ره و عدد از صفر شروع می شه . بره محاسبه ی محدوده ی عدد ، می تونی از تغییر مبنا استفاده کنی . به طور کلی هم تعداد بیت ها اعداد رو به این صورت مشخص می کنند :

signed:
-2^63 -1< x < 2^63-1
unsigned:
0<x<2^64-1

aidin110
پنج شنبه 26 بهمن 1391, 13:06 عصر
سلام
دوست من ، میدونم نمیشه long long int رو مستقیم تعیرف کرد ، در واقع من با کیوت کار میکنم که تو اون امکان تعریف qLonglong هستش و عدد فوق رو تو خودش ذخیره میکنه ، من هدفم از این سوال این بود که ببینم آیا تا اون مقدار عدد برای نمایش جمع کل فاکتورها و فروش کافی هست یا ممکنه بالا بزنه؟!؟ همین...
حالا لطفا نظرتونو بگید...

UfnCod3r
پنج شنبه 26 بهمن 1391, 13:43 عصر
long long int نداریم . اینو داریم
long long
unsigned long long
البته عوضش از اینم یم تونی استفاده کنی
__int64
unsigned __int64
فکر کنم همین کافی باشه ! البته بستگی داره چقدر ارقام و .. بالا باشه ! صفر پول ایرانم که زیاده ! از متغیر می زنه بیرون !:قهقهه:
می تونی عدد رو بر حسب هزار تومن در نظر بگیری دیگه این طوری مشکلی پیش نمیاد ! اصلا مگه ما چقدر پول داریم کلا !:لبخند:

Ananas
پنج شنبه 26 بهمن 1391, 14:52 عصر
999.999.999.999.999.999
عهههههههههههههههههههههه!!! یعنی اینقدر ثروتمندند؟ حتی به ریال هم خیلیه!.
بازم اگه اینقدر ثروتمندند ما رومون کم نمیشه میتونی از IntX استفاده کنی:
http://barnamenevis.org/showthread.php?150444-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-C-%D9%88-C&p=1649855&viewfull=1#post1649855

aidin110
پنج شنبه 26 بهمن 1391, 21:47 عصر
البته من اینو برای جمع کل فاکتورهای نوشته شده میخواستم نه یه فاکتور ، بازم خوبه ؟ یعنی کفایت میکنه؟
@Ananas عزیز بابت فایل هدر هم ممنون.

mahak006
جمعه 27 بهمن 1391, 00:35 صبح
سلام
دوست من ، میدونم نمیشه long long int رو مستقیم تعیرف کرد ، در واقع من با کیوت کار میکنم که تو اون امکان تعریف qLonglong هستش و عدد فوق رو تو خودش ذخیره میکنه ، من هدفم از این سوال این بود که ببینم آیا تا اون مقدار عدد برای نمایش جمع کل فاکتورها و فروش کافی هست یا ممکنه بالا بزنه؟!؟ همین...
حالا لطفا نظرتونو بگید...

فرمول رو که بهت دادم . حالا حتی اگه از کیوت و long long بخوای استفاده کنی هم ، فک کنم تو help نوشته که چند بیتی هست . تعداد بیت رو n در نظر بگیر . محدوده ی عددت رو هم X بگیر :

signed :
-2^(n-1) -1 <= X <= 2^(n-1)
unsigned :
0 <= X <= 2^n -1


البته بهتر بود این پستو داخل فروم کیوت میذاشتی نه اینجا . اون موقع کسایی بودن که بتونن بیشتر کمک کنن .