PDA

View Full Version : مشکل برخودر با NaN



MF
سه شنبه 12 مهر 1384, 11:02 صبح
با سلام .
یک برنامه نوشته ام که باید در آن محاسبات خیلی زیادی انجام شود ولی پس از چند یا چند صد محاسبه به NaN(Not a Number( میرسد. مشکل از چیست؟ در این محاسبات از اعداد با نوع int و doubleاستفاده کرده ام آیا ممکن است با تبدیل تمام اعداد به double این مشکل حل شود . یا اینکه مثلا اگر در جایی عبارت a/2 استفاده شده که a از نوع doubleاست با تبدیل آن به a/2.0 مشکل حل شود . لطفا مرا راهنمایی کنید. با تشکر...

mehdik76
سه شنبه 12 مهر 1384, 18:44 عصر
اولا سعی کن همیشه توی محاسبات از double استفاده کنی چون اینجوری با اینکه ممکنه حافظه بیشتری نسبت به انواع دیگر استفاده بشه ولی در محاسبات زیاد از بعضی از سردرگمی های برنامه جلوگیری می کنه . دوما الگوریتم محاسباتت رو چک کن ممکنه از اون هم باشه (مثلا اگه محاسباتت تکرار داشته باشه ممکنه حلقه های تکرارت واگرا باشه و ...).
البته این نظر بنده هست نظر اساتید محترم رو هم بهتره جویا بشی.

Mehdi Asgari
سه شنبه 12 مهر 1384, 22:04 عصر
چندین چیز باعث ایجاد NaN میشه ، مثل تقسیم صفر بر صفر یا محاسبۀ لگاریتم عدد منفی یا ضرب بی نهایت در بی نهایت یا بی نهایت در صفر یا تقسیم بی نهایت بر بی نهایت یا محاسبۀ توابع مثلثاتی بی نهایت (مثلا سیسنوس بی نهایت) و ...
پس چک کن که همچین چیزایی تو برنامه ات رخ نداده باشه