uint8_t * Itoa_R(uint8_t * StrDst, uint8_t SizeOfStr, int16_t Number){ // right aligment version of Itoa uint8_t * pStrDst = &StrDst[SizeOfStr - 2]; int16_t Tmp; uint8_t i; // just the index uint8_t Sign = 0; if(Number < 0 )Sign =1; Number = (Number < 0) ? -Number : Number; if(!Number){ i = 2; *pStrDst-- = '0';} else for(i = 1; i < SizeOfStr && Number; i++){ Tmp = Number%10; *pStrDst-- = Tmp + 0x30; Number /= 10; } if (Sign){ *pStrDst-- ='-'; i++; } while(i < SizeOfStr){ *pStrDst-- = ' '; i++; } return StrDst; }
Преобразование числа в строку со сдвигом вправо
- Информация о материале
- Автор: Super User
- Родительская категория: Заметки
- Категория: Программирование
- Просмотров: 2537