реклама на сайте
подробности

 
 
> 4х разрядное DEC число разбить на цифры
Punk
сообщение Jan 27 2007, 14:37
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 19-06-06
Из: Новосибирск
Пользователь №: 18 167



Прет! Есть преременная unsigned int и её значение в программе не превышает 9999 необходимо разбить на отдельные числа для отображения на светодиодном индикаторе.
В хексе у меня все получилось без проблем а вот в деке че то ни хрена.Подскажите плз как надо грамотно разбивать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ahulap
сообщение Jan 28 2007, 12:43
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 22-06-06
Из: Kharkiv, UA
Пользователь №: 18 284



ИМХО в данном случае все-таки лучше обойтись без деления:
unsigned int N = 1234;
unsigned char digits[4];
...
digits[3] = 0;
while (N >= 1000) { N -= 1000; digits[3]++; }

digits[2] = 0;
while (N >= 100) { N -= 100; digits[2]++; }

digits[1] = 0;
while (N >= 10) { N -= 10; digits[1]++; }

digits[0] = N;
Go to the top of the page
 
+Quote Post
Punk
сообщение Jan 29 2007, 10:57
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 19-06-06
Из: Новосибирск
Пользователь №: 18 167



ПАСИБА БОЛЬШОЕ
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 09:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01404 секунд с 7
ELECTRONIX ©2004-2016