[an error occurred while processing this directive]
сдвинуть влево на 8 и побитовое и c 0x0F
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
rs
26 августа 2005 г. 19:35
В ответ на:
Господа, как в Си получить старший байт интежера, без лишних преобразований
отправлено AlexSt 26 августа 2005 г. 19:28
Составить ответ
|||
Конференция
|||
Архив
Ответы
Пробовал, при компиляции выполняется 3 лишние машинные команды, вместо того чтобы просто сделать mov
—
AlexSt
(26.08.2005 19:52
193.109.166.50
, 116 байт)
если бы было жалко ресурсы ты бы не писал на С а ковырялся бы в аsm смакуя каждую инструкцию и считая такты:) а так...забудь про инструкции и пиши __программу__
—
ы
(26.08.2005 20:05
80.92.98.211
,
пустое
)
Та я и писал всегда на ASMе, тут решил время сэкономить, полез в получившийся код, а там сердце кровью обливается
—
AlexSt
(26.08.2005 20:16
193.109.166.50
,
пустое
)
это пройдет
—
ы
(26.08.2005 20:18
80.92.98.211
,
пустое
)
Если не будет проблем с ресурсами. На мелких программках всеравно, а на серьезном проекте может вылезти боком.
—
AlexSt
(26.08.2005 20:44
193.109.166.50
,
пустое
)
Во-первых, одязательно ли нужно использовать тип int?
—
Bill
(26.08.2005 20:01
212.57.171.205
, 115 байт)
Увы, в один байт не вписываюсь, конечно если не найду решение, то сыграю на алгоритме, но всеравно интересно, может понадобиться в будущем
—
AlexSt
(26.08.2005 20:24
193.109.166.50
,
пустое
)
Я к тому, что вместо int дгчше использовать unsigned. Если, конечно,
—
Bill
(26.08.2005 20:30
212.57.172.134
, 57 байт)
У меня и так unsigned, но получить старший байт от знакового и беззнакового разницы не должно быть. Поэтому я это и опустил.
—
AlexSt
(26.08.2005 20:40
193.109.166.50
,
пустое
)
Разница есть, и весьма существенная. А вот мой пример для AVR и лишних команд я тут не увидел.
—
Bill
(26.08.2005 20:47
212.57.172.134
, 275 байт)
извиняюсь Debounce = RstDelay/256;
—
AlexSt
(26.08.2005 21:32
193.109.166.50
,
пустое
)
Ну да. В регистр пересылается старший байт переменной.
—
Bill
(26.08.2005 21:44
212.57.173.126
,
пустое
)
Ты засылаешь константу, тогда проще написать Debounce = RstDelay/8; уйдет верхняя строка из ассемблеровского кода, а мне надо переслать из инта регистрового в чар регистровый старший байт
—
AlexSt
(26.08.2005 21:29
193.109.166.50
,
пустое
)
изв. вправо (>>8)
—
rs
(26.08.2005 19:36
82.207.89.211
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
NoIX ключ
:
Запомнить
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru