PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تبدیل عدد به کاراکتر بدون استفاده از توابع داخلی



/xerxes/
01-03-2013, 15:47
سلام.من میخوام یه تابع برای تبدیل عدد چند رقمی به کاراکتر بنویسم.مثلا به ازای عدد ۸۷۵ مقدار کاراکتری اون رو بر گردونه.میشه روش تبدیل رو توضیح بدین.

Aghaeifar
01-03-2013, 20:01
رقم ها رو یکی یکی جدا میکنی بعد تبدیل به کارکتر می کنی. تبدیل به کارکتر کردن هم از طریق حدول اسکی اعداد است.

mohpooria
01-03-2013, 20:28
من همین امروز نوشتم برای با Keil و ARM-gcc کار میکنه
سعی کردم بهینه باشه ، از دوستان کسی باز هم پیشنهاد داشت بگه
برای کامپایلر دیگه فقط باید "uint16_t" و "uint32_t" را عوض کنی مثلا بزاری int

void itoa(int num, char str[]) {
//this function convert integer to string - str[] must have enough space
int len = 0;
int num_tmp;
num_tmp = num;

//for negative number
if (num_tmp < 0) {
num_tmp = -num_tmp;
str[0] = '-';
len++;
}

//Find length of int Number
do {
len++;
num_tmp /= 10;
} while (num_tmp);

//return absolute number
if (num > 0)
num_tmp = num;
else
num_tmp = -num;

//store to string
str[len] = 0;
do {
len--;
str[len] = num_tmp % 10 + '0';
num_tmp /= 10;
} while (num_tmp);
}