Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
03.08.2011, 13:30
|
|
Частый гость
Регистрация: 23.05.2009
Сообщений: 46
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 2 сообщении(ях)
|
Re: Способы вывода данных на семисегментный индикатор
Сообщение от Easyrider83
|
Лучше потом посмотреть, какой объем этот код будет занимать )))
|
с объемом то как раз все в порядке, а вот скорость без оптимизации слабовата будет.......
|
|
|
|
03.08.2011, 13:36
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Способы вывода данных на семисегментный индикатор
Сообщение от kazusdoc
|
с объемом то как раз все в порядке, а вот скорость без оптимизации слабовата будет.......
|
Стесняюсь спросить. У вас процессор одну инструкцию много раз выполняет?
|
|
|
|
03.08.2011, 13:56
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Способы вывода данных на семисегментный индикатор
Стыдитесь!!! Не инструкцию, а команду...
|
|
|
|
03.08.2011, 14:07
|
|
Прописка
Регистрация: 11.10.2008
Сообщений: 132
Сказал спасибо: 8
Сказали Спасибо 35 раз(а) в 30 сообщении(ях)
|
Re: Способы вывода данных на семисегментный индикатор
Артем, да всё просто. Допустим, нужно разложить трехзначное десятичное число на составляющие его цифры. Берем это число (пусть будет 327) и начинаем вычитать из него по сотне, пока число не станет меньше ста. Количество иттераций вычитания, получившихся для нашего числа, - 3 - вот, получили 'сотни'. Дальше, от того что осталось, начинаем отнимать по 10, пока число не станет меньше 10, - опять, количество иттераций дает нам 'десятки', для нашего числа получаем 2. То, что теперь осталось от числа - это есть 'единицы', в нашем случае получаем 7.
Таким образом выделяем цифры 3, 2 и 7 из числа 327.
Код, реализующий подобный алгоритм, приводили выше.
з.ы. отрицательные числа, для данного алгоритма, необходимо предварительно преобразовать в положительные и знак обрабатывать отдельно.
|
|
|
|
04.08.2011, 17:25
|
|
Вид на жительство
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
|
Re: Способы вывода данных на семисегментный индикатор
Сообщение от Nfc
|
Артем, да всё просто. Допустим, нужно разложить трехзначное десятичное число на составляющие его цифры. Берем это число (пусть будет 327) и начинаем вычитать из него по сотне, пока число не станет меньше ста. Количество иттераций вычитания, получившихся для нашего числа, - 3 - вот, получили 'сотни'. Дальше, от того что осталось, начинаем отнимать по 10, пока число не станет меньше 10, - опять, количество иттераций дает нам 'десятки', для нашего числа получаем 2. То, что теперь осталось от числа - это есть 'единицы', в нашем случае получаем 7.
Таким образом выделяем цифры 3, 2 и 7 из числа 327.
Код, реализующий подобный алгоритм, приводили выше.
з.ы. отрицательные числа, для данного алгоритма, необходимо предварительно преобразовать в положительные и знак обрабатывать отдельно.
|
Cпасибо Вам огромное разжевали отлично.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:17.
|
|