Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Как в IAR AVR элегантно скопировать бит n байта А в бит m байта B?
Отправлено
war4one
(81.30.182.212)
26 мая 2010, г. 15:12
Составить ответ
|
Вернуться на конференцию
Ответы
Топикстартеру: каждый чел в понятие элегантность (в коде) вкладывает свой смысл. Вы получите не одну сотню ответов, и все будут элегантны с точки зрения авторов ответов. :) Ну и ещё, мож вам не так уж и надо всё это было. Я вон смотрю, сколько людей ответило, а вы - молчок...
-
ut1wpr
(26.05.2010, 19:01:22
77.120.33.2
,
пустое
)
Здесь понятие элегантности вполне осязаемо: надо стремиться, чтобы хорошо отдрессированный компилятор должен это сделать через инструкции bst / bld
-
VasilyS
(26.05.2010, 19:11:3
80.92.96.25
,
пустое
)
Примерно так: Б= ((B&(~(1<<m)))|((1&(A>>n))<<m))
-
VasilyS
(26.05.2010, 17:01:22
80.92.96.25
,
пустое
)
B = (A & (1 << n)) ? (B | (1 << m)) : (B & ~(1 << m));
-
ы
(26.05.2010, 15:20:39
213.79.108.215
,
пустое
)
a &= ~(1 << n) | b & (1 << n);
-
gsm1900
(26.05.2010, 16:03:43
89.163.14.219
,
пустое
)
a = a
-
ы
(26.05.2010, 16:05:50
213.79.108.215
,
пустое
)
a = a. Но причем тут это
-
gsm1900
(26.05.2010, 16:15:34
89.163.14.219
,
пустое
)
"a &= ~(1 << n) | b & (1 << n);" трасформируется в "a = a" :))) вернее в a &=0xFF...
-
ы
(26.05.2010, 16:46:23
213.79.108.215
,
пустое
)
я непроверенный код не выкладываю
-
gsm1900
(26.05.2010, 16:48:59
89.163.14.219
,
пустое
)
и зачем его выкладывать тогда?:) в выражении даже 'm' нет - поди угадай где оно там...
-
ы
(26.05.2010, 16:50:48
213.79.108.215
,
пустое
)
а-а..."непроверенный не..." даже так, ну тогда проверьте что написали...
-
ы
(26.05.2010, 16:51:43
213.79.108.215
,
пустое
)
че молчишь? Гордости вагон, результата 0?
-
ы
(26.05.2010, 22:59:1
217.118.66.86
,
пустое
)
Я кажется догадываюсь, о чём Ы :) хотел сказать. Просто, накой всякие "букеты" сдвиговый и коньюнкцивных операций мутить? Назначить битовые определения для каждого регистра и переприсваивай в стиле. a=a. Вернее.. a=b.
-
Макаров
(26.05.2010, 16:26:27
95.107.115.1
,
пустое
)
Врядли. Он просто 1900-му хотел сказать чтоб читал вопрос.
-
VasilyS
(26.05.2010, 16:35:6
80.92.96.25
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 6 на 2:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru