اطلاعیه

Collapse
No announcement yet.

افزایش ظرفیت متغییر در C

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

    افزایش ظرفیت متغییر در C

    سلام
    من وقتی. یه عدد 5 رقمی رو تو یه عدد یک رقمی با 3 رقم اعشار ضرب میکنم وتو LCD نمایش میدم حاصل رو یه عدد عجیب نشون میده چرا؟
    برای 4 رقمی درست درمیاد
    متغیرا هم float هستن موقع نمایش از lf% استفاده میکنم
    کمکم کنید ممنون میشم

    #2
    پاسخ : افزایش ظرفیت متغییر در C

    سلام

    تابعی که باهاش متغیر رو نمایش میدین چیه ؟
    I'm going to
    RWTH Aachen
    University

    دیدگاه


      #3
      پاسخ : افزایش ظرفیت متغییر در C

      نوشته اصلی توسط ahl0 نمایش پست ها
      سلام
      من وقتی. یه عدد 5 رقمی رو تو یه عدد یک رقمی با 3 رقم اعشار ضرب میکنم وتو LCD نمایش میدم حاصل رو یه عدد عجیب نشون میده چرا؟
      برای 4 رقمی درست درمیاد
      متغیرا هم float هستن موقع نمایش از lf% استفاده میکنم
      کمکم کنید ممنون میشم
      متغیر 5 رقمی رو Cast کنن به نوع float ....
      اینجوری

      unsigned int x;
      float y;
      y = (float)x * 3.14;
      ;
      ضمنا اون قسمت درصد رو هم اینجوری بزن مثلا :

      %3.3f


      تست کن بهمون بگو ... البته اگه من درست متوجه شده باشم ....
      میخوای ، همون تیکه کد رو همینجا بزار ببینیم تا دوستان دیگه هم بتونن کمک کنن ....
      جدیدترین ویرایش توسط microprocesor_2002; ۱۰:۰۳ ۱۳۹۵/۰۶/۳۱.

      دیدگاه


        #4
        پاسخ : افزایش ظرفیت متغییر در C

        نوشته اصلی توسط microprocesor_2002 نمایش پست ها
        متغیر 5 رقمی رو Cast کنن به نوع float ....
        اینجوری

        unsigned int x;
        float y;
        y = (float)x * 3.14;
        ;
        ضمنا اون قسمت درصد رو هم اینجوری بزن مثلا :

        %3.3f


        تست کن بهمون بگو ... البته اگه من درست متوجه شده باشم ....
        میخوای ، همون تیکه کد رو همینجا بزار ببینیم تا دوستان دیگه هم بتونن کمک کنن ....
        سلام
        تست کرذم درست نشد


        کد این قسمت
        float b,f;
        b=atoi(c); //یه رشته به عدد تبدیل شده
        b*=2;
        f+=b;


        sprintf(st,"%lf",b);
        lcd_gotoxy(0,2);
        lcd_puts(st);
        ftoa(f,3,to);
        lcd_gotoxy(0,3);
        lcd_puts(to);
        }
        جدیدترین ویرایش توسط ahl0; ۰۰:۳۰ ۱۳۹۵/۰۷/۰۱.

        دیدگاه


          #5
          پاسخ : افزایش ظرفیت متغییر در C

          فکر کنم مشکلت اینه :

          b=atoi(c)

          شما یک رشته رو به عددی از نوع int تبدیل کردی و میخوای بریزی تو یه متغیر از نوع float
          فکر کنم atoi یعنی ascii to int
          ببین اگه atof داره از اون استفاده کن ...

          دلیل: ادغام دو پست برای جلوگیری از اسپم

          از 2 هم بصورت 2.0 استفاده کن

          دلیل: ادغام دو پست برای جلوگیری از اسپم

          از sprintf هم اینطوری استفاده کن

          sprintf(st,"%3.3f",b);


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

          دیدگاه


            #6
            پاسخ : افزایش ظرفیت متغییر در C

            نوشته اصلی توسط microprocesor_2002 نمایش پست ها
            فکر کنم مشکلت اینه :

            b=atoi(c)

            شما یک رشته رو به عددی از نوع int تبدیل کردی و میخوای بریزی تو یه متغیر از نوع float
            فکر کنم atoi یعنی ascii to int
            ببین اگه atof داره از اون استفاده کن ...

            دلیل: ادغام دو پست برای جلوگیری از اسپم

            از 2 هم بصورت 2.0 استفاده کن

            دلیل: ادغام دو پست برای جلوگیری از اسپم

            از sprintf هم اینطوری استفاده کن

            sprintf(st,"%3.3f",b);


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

            سلام درست شد .ممنون

            دیدگاه

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