Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Есть ли более быстрый способ проверить что переменная вышла за пределы и если она вышла обнулить ее, нежели просто конструкиця if.
Отправлено
eXeC001er
31 марта 2008 г. 14:28
Составить ответ
|
Вернуться на конференцию
Ответы
И, кстати, с нормальным компилятором if может оказаться самым быстрым способом :)
—
Oldring
(31.03.2008 15:11:40
91.76.17.129
,
пустое
)
медленный способ var %= limit; но быстрый для некоторых процессоров.
—
манипулятор
(31.03.2008 15:05:22
208.73.49.114
,
пустое
)
Инкремент и логическое "И", если максимум выражается степенью двойки. Например (+)
—
vinogradov
(31.03.2008 14:34:23
92.112.0.210
, 112 байт)
Да, в первой строчке хватит просто "i++" :)
—
vinogradov
(31.03.2008 14:36:0
92.112.0.210
,
пустое
)
В первой строчке вообще неопределенное поведение кода :)
—
Oldring
(31.03.2008 14:44:7
91.76.17.129
,
пустое
)
Угу. А вот с прединкрементом было бы всё честно и вообще можно i = ++i & 0x7F; Почему люди так любят постинкремент писать где не надо?
—
ReAl
(31.03.2008 16:46:44
193.111.248.46
,
пустое
)
Нет, "честно" бы все равно не было.
—
Oldring
(31.03.2008 17:01:35
91.76.17.129
, 87 байт)
почему неопределенное? результат то все равно будет достигнут нужный
—
ы
(31.03.2008 15:41:38
80.92.98.211
,
пустое
)
а ваще да...
—
ы
(31.03.2008 15:42:50
80.92.98.211
,
пустое
)
Чистая правда. Все языки в голове перепутались :)
—
vinogradov
(31.03.2008 14:48:9
92.112.0.210
,
пустое
)
Например, если предел lim точно равен 2^N-1, то это делается очень просто и изящно - var &= lim без всяких проверок
—
MBedder
(31.03.2008 14:33:46
80.92.96.19
,
пустое
)
это да., думал что для общего случа тоже есть что либо похожее.
—
eXeC001er
(31.03.2008 14:42:3
81.26.142.208
,
пустое
)
Конечно, есть - например, в некоторых МК/DSP есть команда
bound x,y,z
, делающая это за один такт для любых X,Y,Z
—
MBedder
(31.03.2008 14:45:35
80.92.96.19
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 93:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru