ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2010/07/16
    90
    30

    سوال در مورد خطای متغیر float

    سلام دوستان :smile:
    راستش من یه سوالی برام پیش اومده،قبلا به نظرم جوابش رو توی یه تاپیکی دیده بودم،حالا با هر جور کلمه ای سرچ میکنم پیداش نمیکنم. :sad: برای همین تصمیم گرفتم تاپیک باز کنم.
    توی یه برنامه خیلی ساده چرا موقع دیباگ کردن مقادیر متغیر float با چیزی که من نوشتم متفاوته.راه حلش چیه و اینکه آیا در مواردی که نیاز به خواندن با دقت زیاد هست مشکل درست میکنه؟
    بعضی مواقع 0.2 رو 0.1999999999 نشون میده. بعد در ادامه محاسبات این میزان خطا با مقادیر دیگه ای که اونها هم خطا دارن همینجور جمع و ضرب میشه و ادامه پیدا میکنه.
    این قضیه اپسیلون خطا چیه؟
    یه عکس هم میگذارم تا ببینین.
    با تشکر :rolleyes:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


  2. #2
    2008/01/23
    402
    14
    sma

    پاسخ : سوال در مورد خطای متغیر float

    float همینه دیگه !
    به خاطر همین میگن اگه متغییرتون اعشاریه هیچ وقت از == استفاده نکنید . چون اون اپسیلون خطا کار دستتون میده .
    به جاش از =< و => استفاده کنید .
    إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
    کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)
  3. #3
    2010/07/16
    90
    30

    پاسخ : سوال در مورد خطای متغیر float

    نقل قول نوشته اصلی توسط " سید محمد "
    float همینه دیگه !
    به خاطر همین میگن اگه متغییرتون اعشاریه هیچ وقت از == استفاده نکنید . چون اون اپسیلون خطا کار دستتون میده .
    به جاش از =< و => استفاده کنید .
    بسیار ممنونم از پاسخ شما :smile: :smile: :smile:
    راستش من می خواستم بدونم که چرا کامپایلر اعداد رو به این صورت ذخیره میکنه که بر اساس تحقیقاتم فهمیدم که اعداد اعشاری بر اساس استاندارد IEEE754 برای اعداد ممیز شناور در قالب دقت 32 بیتی Single Precision ذخیره میشن که به دلیل محدودیت در نمایش اعداد اعشاری،اعداد گرد میشن، که این سبب ایجاد اپسیلون خطا در مقایسه دو عدد میشه و همون طور که شما گفتین نباید از عملگر == استفاده بشه.
  4. #4
    2013/09/03
    1,984
    633

    پاسخ : سوال در مورد خطای متغیر float

    میتونید از دستورات گرد کردن واسه جاهایی که نیاز هست استفاده کنید تا حتی خودتون متد گرد کردن اعداد اعشاری رو واسه خودتون با امکاناتی که مایلید بنویسید...
    قانون سوم نیوتون میگه برای اینکه بخوای به چیزی برسی باید از یه چیزی دل بکنی...

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. مشکل با دستور printf و متغیر float
    توسط sepehr63 در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 3
    آخرين نوشته: 2016/02/01, 06:56
  2. سوال تئوری در مورد صفر شدن خطای ماندگار
    توسط smehdia در انجمن سيستم هاي كنترلي
    پاسخ: 2
    آخرين نوشته: 2015/11/24, 17:31
  3. اشکال در نمایش متغیر float در ارتباط spi
    توسط rezamicro در انجمن میکروکنترلرهای AVR
    پاسخ: 17
    آخرين نوشته: 2011/10/29, 23:50
  4. آشنایی با متغیر float
    توسط nasrmicro در انجمن مدار هاي ديجيتال
    پاسخ: 1
    آخرين نوشته: 2011/01/02, 22:00
  5. تغیر کردن مقدار متغیر از نوع float ؟
    توسط majid.4206 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2010/12/26, 23:17

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •