PDA

View Full Version : برنامه نویسی از صفر



سنگ بیرنگ
چهارشنبه 09 اسفند 1391, 19:29 عصر
یه سوال دارم این نوع داده ای رو چی باید تعیین کنم که یه عدد بالای 20 رقمو راحت توی خروجی چاپ کنه؟

این برنامه رو نوشتم کامپایلش که میکنم ایرادی نمیگیره : http://uploadtak.com/images/f4666_1.png

ولی وقتی run میکنم عددهای معادل increase= رو عجیب و غریب نشون میده .. این یعنی چی؟ : http://uploadtak.com/images/y5747_1.png

باید از چه نوع داده ای استفاده کنم که مقدار increase رو با عدد مستقیم و بدون توان و این چیزا نشون بده؟

ممنون میشم راهنماییم کنید

Ananas
چهارشنبه 09 اسفند 1391, 22:50 عصر
سلام.
داره به نماد علمی (اصطلاحی در ریاضی) نمایش میده. اطلاعات اعداد اعشاری داخل تعدادبیت هایی محدود ذخیره میشه و انواعی که سی پی یو محاسبات اعشاری روشون انجام میده همون انواع اعشاری تو سی پلاس پلاس هستن. float و double و long double .بیشتر ازین دقت ندارن ولی عوضش این امکان رو به شما میده که با توان دهش دامنه ی اعدادی که میتونید استفاده کنید رو خیلی خیلی افزایش بدید. فکر کنید اگه مثلا 10 به توان 3000 رو بخواید بدون توان ده داخل بیتهایی محدود ذخیره کنید تعداد ارقامتون باید 3000 تا باشه و تعداد بیتها تقریبا 3000 تقسیم بر 1.2 بیت میشه. 2500 بیت برای یک عدد. در حالی که فقط با 80 بیت داره همون کار انجام میشه با این تفاوت که دقت ارقام 20 رقمه. اگه بخواید می تونید این نوع بزرگ رو خودتون تعریف کنید به همراه توابع محاسباتی مثل جمع و تفریق و ضرب و تقسیم و توان لگاریتم و سینوس و تانژانت و ...
اگه خواستید از نوع صحیح استفاده کنید میتونید از 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

سنگ بیرنگ
پنج شنبه 10 اسفند 1391, 22:29 عصر
سلام و

سپاس بابت توضیح کاملت :تشویق: