PDA

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



T-Agent
سه شنبه 17 فروردین 1389, 12:47 عصر
سلام
من مشکلی با توان علمی منفی تر از 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 هستش}
( کد رو درهم نوشتم اما جواب نهایی درست هستش)

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

CppBuilder2006
چهارشنبه 18 فروردین 1389, 16:32 عصر
اینو توی Visual C++ 2008 امتحان کردم ایرادی نگرفت:


#include <conio.h>
#include <stdio.h>

int main()
{
double molkool_w; //double for very little
molkool_w = 3.0*(1.0e-23); //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
_getch();
}

________________
آموزش کامل زبان ++C به صورت pdf در http://irancplusplus.blogspot.com (http://irancplusplus.blogspot.com)
شامل ویرایش جدید Internet Time 3.00!
روی لینک کنار وبلاگ کلیک کنید.