|
Странное выражение. |
|
|
|
Dec 30 2014, 07:19
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Переменные объявлены так. Код uint8_t txDelay; unsigned int delay; Далее в коде есть такая проверка. Код if (delay%txDelay==0) Что человек хотел проверить делением по модулю?
|
|
|
|
|
 |
Ответов
|
Dec 31 2014, 01:28
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
интересно, сколько индусов читает эту ветку Рэбята, ви все под гипнозом? Что это: Код if(counter % 100) ? Код if(counter >= 100) { counter = 0; toggle(); } где вы видели проц в котором посчитать модуль дешевле чем сравнить? вот так говнокод и получается.
|
|
|
|
|
Dec 31 2014, 07:37
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(_Pasha @ Dec 31 2014, 07:28)  интересно, сколько индусов читает эту ветку Рэбята, ви все под гипнозом? Что это: Код if(counter % 100) ? Код if(counter >= 100) { counter = 0; toggle(); } где вы видели проц в котором посчитать модуль дешевле чем сравнить? вот так говнокод и получается. у нас с ae_ была дискусия о другом топике. надо было отследить изменение третьей цифры справа. скажем было 000199 стало 000200. отсюда модули и прочие навороты.
|
|
|
|
|
Dec 31 2014, 16:51
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(_Pasha @ Dec 31 2014, 19:36)  Там это относится к преобразованию Bin -> BCD - это не вызывает смущения, ибо доказано, что модулями и делениями эффективнее всего выходит, А интересно, где и кем доказано? Раньше вроде было доказано, что эффективнее (в случае, если у процессора нет аппаратной поддержки деления) всего алгоритм, который по очереди в цикле вычитает сначала по 10000, потом по 1000, потом по 100, ну и т.д., считая каждый раз, сколько было вычитаний на каждом этапе. Так как, деление (в его двоичном исполнении в стандартной либе) всегда имеет столько итераций вычитания, сколько разрядность числа, для каждой цифры (допустим, 16), а в данном случае - делении сразу в десятичном исполнении - на каждую цифру уходит от 1 до 10 итераций вычитания, что по любому меньше. А объем кода, в пересчете на его размер в машинных кодах, плюс-минус копейки, одинаков.
|
|
|
|
Сообщений в этой теме
Jenya7 Странное выражение. Dec 30 2014, 07:19 gerber Цитата(Jenya7 @ Dec 30 2014, 11:19) Что ч... Dec 30 2014, 07:41 Jenya7 Цитата(gerber @ Dec 30 2014, 13:41) Услов... Dec 30 2014, 08:55 ae_ Я ответил на похожий ваш вопрос в соседней ветке:
... Dec 30 2014, 07:57 Jenya7 Кодif !(counter % 100) PulseOut(... Dec 30 2014, 11:38 gerber Цитата(Jenya7 @ Dec 30 2014, 15:38) Кодif... Dec 30 2014, 15:14  Jenya7 Цитата(gerber @ Dec 30 2014, 21:14) Логич... Dec 30 2014, 15:44   gerber Цитата(Jenya7 @ Dec 30 2014, 19:44) это н... Dec 30 2014, 18:04 WitFed Цитата(_Pasha @ Dec 31 2014, 04:28) интер... Dec 31 2014, 08:30 Jenya7 Цитата(WitFed @ Dec 31 2014, 14:30) .
Как... Dec 31 2014, 14:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|