اطلاعیه

Collapse
No announcement yet.

مشکل در کم و زیاد کردن متغیر از نوع float

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

    مشکل در کم و زیاد کردن متغیر از نوع float

    میخوام دما رو از کاربر بصورت اعشار از کاربر بگیرم.
    کد:
    if(upkey == 0)
      {
       if(UserTemp < 70.0)
       {
        UserTemp++;
       }
       else
       {
        UserTemp = 70.0;
       }
       delay_ms(100);
      }
      
      if(downkey == 0)
      {
       if(UserTemp > -10.0)
       {
        UserTemp--;
       }
       else
       {
        UserTemp = -10.0;
       }
       delay_ms(100);
    با این روش نمیشه. و همچنان TEMP = 0.0 میمونه و کم و زیاد نمیشه.
    اما خارج از Float مشکلی نداره.
    *\ وقتی ارزش ها عوض بشن، عوضی ها باارزش می شن /*

    #2
    پاسخ : مشکل در کم و زیاد کردن متغیر از نوع float

    نوشته اصلی توسط shoniz نمایش پست ها
    میخوام دما رو از کاربر بصورت اعشار از کاربر بگیرم.
    کد:
    if(upkey == 0)
      {
       if(UserTemp < 70.0)
       {
        UserTemp++;
       }
       else
       {
        UserTemp = 70.0;
       }
       delay_ms(100);
      }
      
      if(downkey == 0)
      {
       if(UserTemp > -10.0)
       {
        UserTemp--;
       }
       else
       {
        UserTemp = -10.0;
       }
       delay_ms(100);
    با این روش نمیشه. و همچنان TEMP = 0.0 میمونه و کم و زیاد نمیشه.
    اما خارج از Float مشکلی نداره.
    سلام
    میشه در مورد مشکلتون بیشتر توضیح بدید؟ با کدوم محیط برنامه نویسی و کامپایلر کار میکنید؟
    ممیز شناور کمی با نوع داده صحیح فرق میکنه و قواعد خاصی توش برقراره. به خاطر همین باید حواستون باشه باهاش چکاری انجام میدید.

    دیدگاه


      #3
      پاسخ : مشکل در کم و زیاد کردن متغیر از نوع float

      من با کدویژن دارم انجام میدم.
      بله دستگاه بسیار حساس هست. مرتبط با بانک خون.

      من میخوام دما رو به صورت اعشار از کاربر بگیرم.

      مثلا 37.5درجه.

      بعد با زدن کلید up مقدار اضافه و با زدن دکمه کم مقدار کم بشه. بصورت اعشار دهم از 0تا 9 بره بعد یکی به عدد اصلی اضافه کنه.

      ممنون
      *\ وقتی ارزش ها عوض بشن، عوضی ها باارزش می شن /*

      دیدگاه


        #4
        پاسخ : مشکل در کم و زیاد کردن متغیر از نوع float

        نوشته اصلی توسط shoniz نمایش پست ها
        من با کدویژن دارم انجام میدم.
        بله دستگاه بسیار حساس هست. مرتبط با بانک خون.

        من میخوام دما رو به صورت اعشار از کاربر بگیرم.

        مثلا 37.5درجه.

        بعد با زدن کلید up مقدار اضافه و با زدن دکمه کم مقدار کم بشه. بصورت اعشار دهم از 0تا 9 بره بعد یکی به عدد اصلی اضافه کنه.

        ممنون
        خوب برای این که هربار 0.1 اضافه یا کم بشه میتونید این کارو بکنید:

        var += 0.1;
        var -= 0.1;

        در آخر توصیه میکنم اگردقتتون در همین حد 0.1 درجه هستش، مقادیر رو به شکل صحیح در نظر بگیرید و فقط ضرب در 10 اش کنید. مثلا بجای ذخیره مقدار 2.1 در یک متغیر float، مقدار 21 رو در یک متغیر int ذخیره کنید. محاسبات ممیز شناور کمی عجیب غریبه و بار پردازشی زیادی هم داره.

        دیدگاه

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