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

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

مقایسه‌ی دو عدد اعشاری

0 امتیاز
787 نمایش

می‌دونیم که مقایسه‌ی دو عدد اعشاری به شکل a==b ممکنه جواب اشتباه بده. باید به صورت زیر مقایسه کنیم

if(a - b < 0.00005)

این مقدار و چقدر کوچیک بگیرم؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده پنجشنبه ۲۷ تیر ۱۳۹۲ در C++ توسط prodo  
بازتگ شده پنجشنبه ۱۷ مرداد ۱۳۹۲ توسط prodo

1 پاسخ

0 امتیاز

برای این کار در خود زبان مقداری تعریف شده. در C سرفایل limits.h و در C++ سرفایل climits برای این کار استفاده می‌شه به همراه سه ثابت زیر

#include <climits>
using namespace std;
int main()
{
  float f1, f2;
  double d1, d2;
  long double ld1, ld2;
  cout<<(fabs(f1-f2) < FLT_EPSILON)<<' ';
  cout<<(fabs(d1-d2) < DBL_EPSILON)<<' ';
  cout<<(fabs(ld1-ld2) < LDBL_EPSILON)<<' ';
  return 0;
}
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده پنجشنبه ۲۷ تیر ۱۳۹۲ توسط prodo