Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Как в Си (IAR AVR) красиво int разделить на 10 с округлением до ближайшего целого?
Отправлено
slog2
07 декабря 2006 г. 18:33
Чето не нашел функции для этого. И башка к вечеру уже не варит.
Составить ответ
|
Вернуться на конференцию
Ответы
Например if((a%b)<(b>>1)) c=a/b; else c=a/b+1;
—
йцукен
(07.12.2006 19:49
195.151.194.51
,
пустое
)
Упалпацтот :)
—
F8
(07.12.2006 20:00
213.130.22.7
,
пустое
)
Компилятор соптимизит, a%b и a/b одна и таже процедура, вычисление будет происходить один раз
—
йцукен
(07.12.2006 20:12
195.151.194.51
,
пустое
)
Ну я такие надежды на оптимизатор не возлагаю...
—
F8
(07.12.2006 20:24
213.130.22.7
,
пустое
)
Напрасно, очень умная штука, даже слишком умная, поэтому доверять не стоит ;)
—
йцукен
(07.12.2006 20:35
195.151.194.51
,
пустое
)
И вообще пришел к выводу "на асме ручками" написать можно чуть-чуть быстрее ,но не компактнее
—
йцукен
(07.12.2006 20:19
195.151.194.51
,
пустое
)
Ответ: А Вы как бы решили эту задачу? Покажите Ваш вариант, а мы все вместе похахочим
—
ТуамОсес
(07.12.2006 20:09
82.204.230.167
,
пустое
)
Если хочеш смияца пасматри журнал Мурзилка.
—
F8
(07.12.2006 20:16
213.130.22.7
,
пустое
)
Ответ: Понял, Андрюша...Значит своего варианта у Вас нет...Тогда и нех...над другими......падать патцтцтол
—
ТуамОсес
(07.12.2006 20:42
82.204.230.31
,
пустое
)
а чего так ? Вобщем-то по барабану, на чем и как и что написано. Лишь бы бабло приносило
—
DASM
(07.12.2006 20:03
212.58.192.14
,
пустое
)
Так может того, все на ВижуалБесик для мк пересядем... будем на ARM9 бегущую строку делать. :)
—
F8
(07.12.2006 20:10
213.130.22.7
,
пустое
)
да вобщем-то все к этому идет.. а какая разница ? Будет 9-ый стоить как пик - и кто будет сомневаться ?
—
DASM
(07.12.2006 20:13
212.58.208.91
,
пустое
)
Похоже... я когда-то давно в этой конфе спросил когда появится AVR32 все дружно ответили что никогда. А примерно через год...
—
F8
(07.12.2006 20:29
213.130.22.7
,
пустое
)
Бьюсь об заклад, что щас разведётся флэйм по этой "сложнейшей" научно-технической проблемме современности на полстраницы, но так никто ничего путЁвого Вам не скажет
—
ТуамОсес
(07.12.2006 19:33
212.248.122.224
,
пустое
)
А вообще..
—
ТуамОсес
(07.12.2006 19:35
212.248.122.224
, 222 байт)
Ответ:
—
slog2
(07.12.2006 20:36
87.238.119.250
, 423 байт)
стоп стоп, какие 10-ть прибавить, а также чем приведенные решения не устроили ? Делать финт ушами такой очень некрасиво
—
DASM
(07.12.2006 20:38
212.58.208.91
,
пустое
)
Да обьяснять долго, Все уже давно решено, у меня там все сложнее, long делится на X, X int и не константа. Округлять надо было быстро и правильно. Вообщем вопроса уже нет.
—
slog2
(07.12.2006 20:51
87.238.119.250
,
пустое
)
ну так вопрос надо корректно задавать, а не кричать, что фсе дураки кругом
—
DASM
(07.12.2006 20:53
212.58.208.91
,
пустое
)
Ответ: Эвон как тебя зацепило......А ответа нормального так и не дал ведь....Тёмный ты кекс, D'ASM......Пардон...Не "ты", в "Вы"
—
ТуамОсес
(07.12.2006 21:01
212.248.122.155
,
пустое
)
Поскольку дробная часть отбрасывается то добавить или отнять от числа 5 перед делением. В зависимости от знака.
—
misyachniy
(07.12.2006 18:58
83.218.237.86
,
пустое
)
всегда добавить. -0,5 округляется до -1
—
koyodza
(07.12.2006 19:00
83.170.240.226
,
пустое
)
похоже ошибся. VC++6: -0,5 округляется до 0, так что знак нужно учитывать
—
koyodza
(07.12.2006 19:04
83.170.240.226
,
пустое
)
И кто у Вас округляется?
—
-=ВН=-
(07.12.2006 19:12
193.125.71.140
,
пустое
)
Ответ: Скорее что....(:-))))
—
ТуамОсес
(07.12.2006 19:29
212.248.122.224
,
пустое
)
чем округляешь ? :-))
—
DASM
(07.12.2006 19:08
212.58.192.14
,
пустое
)
инт это сколько байт? 2 или 4? если 2 то a/10 = (a * 0xcccd) >> (3 + 16)
—
ы
(07.12.2006 18:50
80.92.98.211
,
пустое
)
аа...понял чего надо. это не то:))
—
ы
(07.12.2006 18:52
80.92.98.211
,
пустое
)
(int)((val+5.0)/10) или что-то в этом духе. Ну и Сишная ф-ция есть, в MSDN лезть долго
—
DASM
(07.12.2006 18:38
212.58.192.14
,
пустое
)
Да-С...И это ещё ответ спецыалиста...А вопрос какой? Млин, может это школьники постят первый год изучающие информатику и факультативно Си? просто нет слов..Я мзучаю Си++ "без году неделя", но таких вопросов почему-то у меня не возникает....Пардон...
—
ТуамОсес
(07.12.2006 18:51
212.248.122.155
,
пустое
)
А вот интересно, господин slog2...ВЫ по какой книге Си изучаете и сколько минут{не говорю "дней", потому что если б изучали хотя бы один час таких вопросов бы не было}? и много ли прочитали?
—
ТуамОсес
(07.12.2006 18:54
212.248.122.155
,
пустое
)
а отрицаловка нужна?
—
DASM
(07.12.2006 18:41
212.58.192.14
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru