اطلاعیه

Collapse
No announcement yet.

عملیات روی متغیر اعشاری در keil

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    عملیات روی متغیر اعشاری در keil

    سلام. متغیر برنامه ام را به صورت اعشاری(float) تعریف کردم. بعد آن مقدار را بر 100 تقسیم میکنم و در یک متغیر دیگر که آن هم اعشاری است می ریزم و برای اینکه مطمئن شوم داده ام درست تقسیم شده یک دستور شرطی بعد از تقسیم گذاشته ام که اگر مقدار مورد نظر شد یک led روشن کند.
    وقتی داده ام 50 باشد که حاصل تقسیمش بشود 0.5 درست جواب می دهد ولی اگر داده 60 باشد که حاصلش بشود 0.6 جواب نمیدهد. چرااااا؟؟؟؟؟؟ :angry:
    با میکرو lpc1768 کار میکنم

    #2
    پاسخ : عملیات روی متغیر اعشاری در keil

    نوشته اصلی توسط asadi11
    سلام. متغیر برنامه ام را به صورت اعشاری(float) تعریف کردم. بعد آن مقدار را بر 100 تقسیم میکنم و در یک متغیر دیگر که آن هم اعشاری است می ریزم و برای اینکه مطمئن شوم داده ام درست تقسیم شده یک دستور شرطی بعد از تقسیم گذاشته ام که اگر مقدار مورد نظر شد یک led روشن کند.
    وقتی داده ام 50 باشد که حاصل تقسیمش بشود 0.5 درست جواب می دهد ولی اگر داده 60 باشد که حاصلش بشود 0.6 جواب نمیدهد. چرااااا؟؟؟؟؟؟ :angry:
    با میکرو lpc1768 کار میکنم
    هیچ وقت شرط را حاصل تساوی اعداد اعشاری قرار نده. چون که اعداد اعشاری (مخصوصاً با دقت single) همیشه اندکی خطا دارند. مثلاً به جای 0.6 ممکنه شده باشه 0.59999998 برا همین شرط تساوی جواب نمیده.
    بیایید با Google آشتی کنیم!

    دیدگاه

    لطفا صبر کنید...
    X