result = (var1 & 1 << i ? 1 : 0 ) ^ (var2 & 1 << j ? 1 : 0 );
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
DASM
23 октября 2004 г. 14:26
В ответ на:
Сорри, сбился с мысли. Xor i-го бита 1-й переменной с j-м битом второй переменной
отправлено Виноградов Алексей 23 октября 2004 г. 14:19
Составить ответ
|||
Конференция
|||
Архив
Ответы
ерунду написал...хor битов будет тока если i==j
—
ы
(23.10.2004 14:47,
пустое
)
чавоооо ?
—
DASM
(23.10.2004 14:51,
пустое
)
тавооо:)) опять ты со своими приоритетами операций...наизусть чтоли выучил:)
—
ы
(23.10.2004 14:53,
пустое
)
и где у меня ошибка в приоритетах ?
—
DASM
(23.10.2004 14:55,
пустое
)
да нету нету...я про то что ты любитель без скобок писать...а xor ты своим выражением не получишь...вон я там ниже привел как надо
—
ы
(23.10.2004 14:56,
пустое
)
МЛИН почему я не получу ХОR ?
—
DASM
(23.10.2004 14:58,
пустое
)
а скобки убрал, чтобы Виноградова не пугать
—
DASM
(23.10.2004 14:59,
пустое
)
беру свои слова взад...получишь...но нагромоздил то как!:))))))
—
ы
(23.10.2004 14:58,
пустое
)
у тебя сдвиг переменной на переменное кол-во бит. У меня сдвигается единица, для процев с битовым процессором возможна более глубокая фаза оптимизации. Кстати 3 звездочки и 5 -ять на вкус почти одно и тоже. Вот бодяга то :-(
—
DASM
(23.10.2004 15:01,
пустое
)
во как надо result = ((var1 >> i ? 1 : 0 ) ^ (var2 >> j ? 1 : 0 )) & 1;
—
ы
(23.10.2004 14:49,
пустое
)
короче, никаки ? не надо....надо так result = ((var1 >> i ) ^ (var2 >> j )) & 1; проще пареной репы...DASM всю мыслю сбил своими умными идеями)))
—
ы
(23.10.2004 14:51,
пустое
)
да уж такой родился :-) твой вариант для некоторых типов процессоров может быть сложнее для оптимизатора
—
DASM
(23.10.2004 14:57,
пустое
)
ну ка давай проверим...на AVR? :)
—
ы
(23.10.2004 14:59,
пустое
)
согласен...если у проца нет баррель шифтера то туго будет...но твою запись хрен поймешь :- P
—
ы
(23.10.2004 15:01,
пустое
)
зато офигенная оптимизация и нехрен мои сурцы всяким понимать :-)
—
DASM
(23.10.2004 15:03,
пустое
)
ну вот я засунул это все в IAR 3/10 для AVR при макс оптим по size что то меня сомнения гложат
—
ы
(23.10.2004 15:13, 3139 байт)
а вот по SPEED один хрен
—
ы
(23.10.2004 15:15, 3127 байт)
правда я переменный все volatile объявил:))))))))) ладно...дальше лениво...
—
ы
(23.10.2004 15:24,
пустое
)
если конечно i and j не const
—
DASM
(23.10.2004 14:30,
пустое
)
i и j - постоянные. Объясните, плиз, что означает знак вопроса и все, что после него, до закрытия скобки ?
—
Виноградов Алексей
(23.10.2004 14:48,
пустое
)
Да, i не равно j !
—
Виноградов Алексей
(23.10.2004 14:49,
пустое
)
я и написал для общего случая. ? - единственный тернарный оператор.
—
DASM
(23.10.2004 14:54, 163 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru