Еще можно вот так:
int16_u abc = 54173;
char digit[6];
for(char c=0; c<6; c++){ digit[c]=abc%10; abc=abc/10; };
Добавлено спустя 39 секунд:
2avr123: Да, для последней abc%10 достаточно.
![]() |
roboforum.ruТехнический форум по робототехнике. |
|
=DeaD= писал(а):int16_u abc = 54173;
char digit[6];
for(char c=0; c<6; c++){ digit[c]=abc%10; abc=abc/10; };
Doniak писал(а): как происходит "разложение" ?
avr123.nm.ru писал(а):Doniak писал(а): как происходит "разложение" ?
"Си для микроконтроллера" - читайте и разбирайте что в строчках данного вам кода написано. Начинайте учиться.
Doniak писал(а):мне всеравно непонятна вот эта строчка
s/int16_u/int16_t/
5 / 2 // даст 2
5 % 2 // даст 1
75 / 29 // даст 2
75 % 29 // даст 17
int16_u abc = 54173;
char digit[6];
for(char c=0; c<6; c++){ digit[c]=abc%10; abc=abc/10; };
Doniak писал(а):совет AVR123 дописать в курсе то что написал Montoya.
Doniak писал(а): почему 75%29 даст 17 ведь остаток 586206897
Doniak писал(а):почему 75%29 даст 17 ведь остаток 586206897
avr123.nm.ru писал(а):Doniak писал(а):совет AVR123 дописать в курсе то что написал Montoya.
Боюсь школьная арифметика в курс не влезет !
точнее 0.586206897 Вопрос: от чего ? Ответ: от 29
0.586206897 * 29 = 17
в ШКОЛЕ надо было учить деление СТОЛБИКОМ а не калькулятором и понимать что такое число, что такое остаток от деления.
Это не про Си и не про МК ! вАААААще !
x % y // вычислить остаток от деления нацелоя понимаю как просто найти остаток// вычислить остаток от деления нацело
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0