PDA

View Full Version : سوال؛ مشکل در توان علمی



T-Agent
سه شنبه 17 فروردین 1389, 13:17 عصر
سلام
من مشکلی با توان علمی منفی تر از 15 دارم
کامپایلر " بورلند توربو سی ++" نسخه 4.5
متن برنامه؛

int main()
{
double molkool_w, ; //double for very little
molkool_w=3.0*(1.0e-15); //baraye inke 10^-15 be bala ro mostaghim ghabool nadare
molkool_w=molkool_w*(1.0e-8) ; //3.0^-15 & ((3.0 ^-15)^-8)= 3.0e-23
...
............................................
printf("\n molkool dar liter AB: %5.5e",molkool_w) ; //for print

return 0;
}


اگر به صورت

molkool_w=3.0*(1.0e-23); //mostaghim 10^-23


نوشته شه کمپایلر خطای invalid float point " می داد.
به روش بالا مشکل حل شد ولی با توجه به این که نوع داده ای بزرگتر از نیاز رو برای داده ثابت در نظر گرفتم خطای پیش امده قابل درک نبود!!
----- کسی می تونه کد رو بهینه کنه یا مشکل رو توضیح بده

ممنون


{پروژه کتاب "برنامه نویسی به زبان سی" "ج. نژاد قمی" فصل2 تمرین شماره 11 هستش}
( کد رو درهم نوشتم اما جواب نهایی درست هستش)

(فک کنم جای درستی پست داده باشم اگه نه راهنمایی یا منتقل کنین)