|
fload в char |
|
|
|
 |
Ответов
|
Jun 27 2007, 05:49
|

Местный
  
Группа: Свой
Сообщений: 319
Регистрация: 3-09-05
Из: Беларусь, Новополоцк
Пользователь №: 8 188

|
Цитата(Dog Pawlowa @ Jun 26 2007, 18:37)  Да? А медленно - это сколько? Встречный вопрос: а как подсчитать количество тактов, потраченных на выполнение того или иного куска кода? Судя по Вашим постам в этом форуме, ответ Вы знаете. Зачем тогда спрашиваете, издеваетесь, да? Код: Код sprintf(txt, "%.4f", 12.35); занимает в IAR симуляторе примерно 19000 тиков CYCLECOUNTER'а. Много это или мало Вам судить. По мне проще сделать простое преобразование типов (int), а затем (char *)& или Bin2BCD. Если нужна и дробная часть, то сначала умножить на 10.0, 100.0, 1000.0 и т.д. Все равно быстрее. Да и не забудьте добавить 0.5, чтобы получить правильное округление.
|
|
|
|
|
Jun 27 2007, 09:30
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(shasik @ Jun 27 2007, 08:49)  По мне проще сделать простое преобразование типов (int), а затем (char *)& или Bin2BCD. Если нужна и дробная часть, то сначала умножить на 10.0, 100.0, 1000.0 и т.д. Все равно быстрее. Да и не забудьте добавить 0.5, чтобы получить правильное округление. То о чем Вы пытаетесь вести речь не есть работа c float double. Это призыв не пользоваться float, но далеко не все могут ему последовать. Попробуйте написать свою функцию для печати 64bit float  и расскажите сколько сэкономили. Заодно можете попробовать сколько времени на 8-бит контроллерах операции с 64 битной плавучкой занимают, но есть такое слово "надо" Естественно, printf() обладает избыточностью и "сделать" его на печати какого-нибудь int тупо задав выходной формат и написав жесткую обработку легко. Но для float относительный выигрыш будет меньше. По поводу "18ms" и "отсутствие контроля" - про прерывания Вам уже сказали, а вообще в нормально созданной системе процесс отображения самый не приоритетный и очередь сообщений к процессу отображения строится с намеряными потерями, что позволяет не отображать тупо информацию чаще, чем оператор ее может считывать. Цитата(shasik @ Jun 27 2007, 12:16)  А напрягать свой "мозг" не станем. Напрягать мозг станем! Обязательно! Только в правильном направлении а не в рамках полировки отдельных абсолютно не критичных кусочков кода.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Karl fload в char Jun 25 2007, 09:53 Dog Pawlowa Цитата(Karl @ Jun 25 2007, 12:53) Народ, ... Jun 25 2007, 10:12 KRS Цитата(Karl @ Jun 25 2007, 13:53) Народ, ... Jun 25 2007, 10:14 Karl Попробовал sprintf - вылезла ошибка
Fatal Error[e7... Jun 25 2007, 10:59  zltigo Цитата(Karl @ Jun 25 2007, 13:59) Попробо... Jun 25 2007, 11:01 IgorKossak Для работы sprintf HEAP не нужен.
Видимо автор пыт... Jun 25 2007, 14:00 Karl Цитата(IgorKossak @ Jun 25 2007, 20:00) Д... Jun 26 2007, 03:29   Dog Pawlowa Цитата(shasik @ Jun 27 2007, 08:49) Встре... Jun 27 2007, 06:36    shasik Цитата(Dog Pawlowa @ Jun 27 2007, 09:36) ... Jun 27 2007, 07:58     Dog Pawlowa Цитата(shasik @ Jun 27 2007, 10:58) А отс... Jun 27 2007, 08:36      shasik Цитата(Dog Pawlowa @ Jun 27 2007, 11:36) ... Jun 27 2007, 09:16       Dog Pawlowa Цитата(shasik @ Jun 27 2007, 12:16) Смешн... Jun 27 2007, 09:35    shasik Цитата(zltigo @ Jun 27 2007, 12:30) То о ... Jun 27 2007, 10:48     Dog Pawlowa Цитата(shasik @ Jun 27 2007, 13:48) 1. А ... Jun 27 2007, 11:19      Karl Уф, ну и дискуссию вы тут развернули! Похоже, ... Jun 28 2007, 11:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|