اطلاعیه

Collapse
No announcement yet.

تبدیل کاراکتر به عدد با تابع atoi

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

    تبدیل کاراکتر به عدد با تابع atoi

    سلام من باید یک متغیر نوع کاراکتری رو که یک عدد در اون ذخیره شده به محتوای عددی اش تبدیل کنم
    تا جاییکه میدونم تو کدویژن با atoi که تو فایل هیدر stdlib هست میشه این کارو انجام داد ولی متاسفانه مثالی ازش پیدا نکردم
    کسی میتونه یه مثال یا طرز کار با این تابع رو برام بگه؟؟؟
    ممنون

    #2
    پاسخ : تبدیل کاراکتر به عدد با تابع atoi

    بفرما:

    int_var = atoi(str);


    اگه عدد اعشاری باشه باید از atof استفاده کنی.

    itoa و ftoa هم برای تبدیل عدد به رشته استفاده میشه
    https://www.linkedin.com/in/mohammadhosseini69

    http://zakhar.blog.ir

    دیدگاه


      #3
      پاسخ : تبدیل کاراکتر به عدد با تابع atoi

      سلام دوستان
      ممنون میشم کمکم کنید: من توسط سریال اردیونو یه رشته به صورت کارکتر R0 تا R255 دریافت میکنم ولی میخوام R حذف بشه و کارکتر 0 تا 255 به int تبدیل بشه تا بتونم عملیات کنترلی رو روش انجام بدم ممنون میشم کمکم کنید.

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

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

      int_var = atoi(str);


      اگه عدد اعشاری باشه باید از atof استفاده کنی.

      itoa و ftoa هم برای تبدیل عدد به رشته استفاده میشه
      ممنون ... ولی مشکل R هستش که همراه با کارکتر های عددی ارسال میشه و تو اینترنت نتونستم مشکلمو حل کنم ممنون میشم اگه امکانش هست نمونه کد یا راهنمایی برنامه رو برام بفرستید.

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

      void setup()
      {
      Serial.begin(115200);
      Serial.println("START");
      }


      void loop()
      {
      if(Serial.available())
      {
      char c = Serial.read();
      Serial.print(c);
      }

      }

      دوستان این برنامه هستش که کارکتر رو به صورت R0 تا R255 ارسال میکنه مشکلم اینه نمیتونم R رو حذف کنم و کارکتر های عددی رو به int تبدیل کنم که بشه مثلا 0 تا 255

      دیدگاه


        #4
        پاسخ : تبدیل کاراکتر به عدد با تابع atoi

        نوشته اصلی توسط farzad_TKI نمایش پست ها
        سلام دوستان
        ممنون میشم کمکم کنید: من توسط سریال اردیونو یه رشته به صورت کارکتر R0 تا R255 دریافت میکنم ولی میخوام R حذف بشه و کارکتر 0 تا 255 به int تبدیل بشه تا بتونم عملیات کنترلی رو روش انجام بدم ممنون میشم کمکم کنید.

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



        ممنون ... ولی مشکل R هستش که همراه با کارکتر های عددی ارسال میشه و تو اینترنت نتونستم مشکلمو حل کنم ممنون میشم اگه امکانش هست نمونه کد یا راهنمایی برنامه رو برام بفرستید.

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

        void setup()
        {
        Serial.begin(115200);
        Serial.println("START");
        }


        void loop()
        {
        if(Serial.available())
        {
        char c = Serial.read();
        Serial.print(c);
        }

        }

        دوستان این برنامه هستش که کارکتر رو به صورت R0 تا R255 ارسال میکنه مشکلم اینه نمیتونم R رو حذف کنم و کارکتر های عددی رو به int تبدیل کنم که بشه مثلا 0 تا 255
        سلام وقتتون بخیر.
        میتونید کاراکتر دریافتی را در 0x00FF به شکل bitwise and کنید. مثلا اگه اسم متغیر کاراکتر دریافتی rdata باشد میتونید بنویسید :
        کد:
        [FONT=Yekan]rdata &= 0x00FF[/FONT]
        با این کار در واقع 8 بیت داده پر ارزش شما که همون کاراکتر R باشد حذف شده و بقیه بیت ها باقی می ماند. و بعد از این خط متغیر rdata عددی بیت 0 الی 255 خواهد بود.
        موفق باشید.

        دیدگاه

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