اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

محاسبه‌ی دقت float و double در برنامه

+2 امتیاز
1,127 نمایش

چطوری می‌شه با یه قطعه کد دقت محاسبه با float و double رو حساب کرد؟

در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پرسیده شده سه شنبه ۲۱ آذر ۱۳۹۱ در C++ توسط برنامه‌نویس  
بازتگ شده سه شنبه ۲۷ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز

double a=1;
double at;
float b=1;
float bt; while(a!=0)
{
at=a;
a/=2;
} while(b!=0)
{
bt=b;
b/=2;
}

در نهایت مقدار at دقت double و مقدار bt دقت float است.
Don't Expect Anyone Except Yourself,...
پاسخ داده شده دوشنبه ۵ فروردین ۱۳۹۲ توسط Arash  

دقت عدد اعشاری برای عددهای مختلف فرق داره. مثلاً برای عدد بین ۱۰ و ۲۰ دقت با عدد بین ۱۰۰ و ۲۰۰ فرق داره فکر کنم.

اینو نمیدونستم.
راهی برای محاسبه این دقت برای اعداد (مثلا سه رقمی یا اعداد دو رقمی) در نظر دارید؟

میتوان کد را به صورت زیر تغییر داد که دقت double و float‌نزدیک به یک عدد مثلا ۱۵۰ را محاسبه کند.
در نهایت مقدار at-150 دقت double و مقدار bt-150 دقت float است.



double a=1+150; double at; float b=1+150; float bt; while(a!=150) { at=a; a=(a+150)/2; } while(b!=150) { bt=b; b = (b + 150)/2; }

دو متغیر at و bt در این کد هیچ کاربردی ندارن که. در صورتی که حذف بشن هم کد همون کده!