PDA

View Full Version : محدوه اعداد 64 بیت



1485159
دوشنبه 12 مرداد 1388, 14:57 عصر
من یه برنامه مینویسم که قراره از کاربر عددی به سورت string دریافت بشه ولی ممکنه که کار بر عدد رو خیلی بزرگ وارد کنه که اونقت نمیشه...
میخوام قبل از این که توی یه متغیر 64 بیت ریخته بشه اول چک بشه که در محدوده اسا یا نه
میشه بگید چطوری؟
ممنون

tdkhakpur
دوشنبه 12 مرداد 1388, 15:21 عصر
سلام
برای نوشتن اعمال ریاض ذبزرگترین محدوده 8 بایت 64 بیت وجود دارد و شما اگر عدد بزرگتر قرار بدید خودبخود منفی عدد را دریافت میکنید.
یعنی اصولا برای متغییرهای علامت دار این محدوده نصف میشود.میتوانید با بررسی آخرین رقم که میتواند در این متغییر قرار بگیرد مشخص کنید که عدد قابل جای دادن هست یا خیر.


4294967295 آخرین رقم برای اعداد علامت دار
18446744073709551615 آخریت رقم برای اعداد غیر علامت دار

1485159
دوشنبه 12 مرداد 1388, 15:28 عصر
نفهمیدم، شرمنده میشه کامل تر بگی؟

tdkhakpur
دوشنبه 12 مرداد 1388, 15:38 عصر
سلام
ببینید این چیزی نداره بیشتر توضیح بدم خوب رشته را به عدد تبدیل کنید و داخل متغیری از نوع double قرار بدید با محدوده اعداد فوق میتوانید بررسی کنید که اعداد شما علامت دار خواهد شد یا خیر .
اصلا مساله جایگیری داخل متغییر فوق معنی نداره. فقط علامت عدد محدوده را تحت تاثیر قرار میدهد.
باز شاید من توضیحاتم کم باشه دوستان ارائه بدهند.