[an error occurred while processing this directive]
Господа, как в Си получить старший байт интежера, без лишних преобразований
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
AlexSt
26 августа 2005 г. 19:28
Составить ответ
|||
Конференция
|||
Архив
Ответы
А union религия не позволяет использовать? (+)
—
Kot
(26.08.2005 20:52
193.151.88.137
, 150 байт)
Еще один вредный совет, но сверху..
—
quark
(26.08.2005 20:12
213.171.38.20
, 121 байт)
sizeof(int)=16 это круто
—
ы
(26.08.2005 20:13
80.92.98.211
,
пустое
)
=32. круче? См. посты ниже..
—
quark
(26.08.2005 20:23
213.171.38.20
,
пустое
)
пошутил я...на описку...;)
—
ы
(26.08.2005 20:43
80.92.98.211
,
пустое
)
Да ниче.. я тож хорош.. смотрим в книгу - видим фигу..))
—
quark
(26.08.2005 20:53
213.171.38.20
,
пустое
)
знаю sizeof(char,int,long) = 1,2,4 16 и 32 еще не встречал, что за проц? там ниже написано?))
—
ы
(26.08.2005 20:25
80.92.98.211
,
пустое
)
))) sizeof(int)=2 канечно..
—
quark
(26.08.2005 20:51
213.171.38.20
,
пустое
)
Хотелось бы что то типа функций Low и High в паскале
—
AlexSt
(26.08.2005 19:58
193.109.166.50
,
пустое
)
внизу - вредные советы. Просто i / 256
—
DASM
(26.08.2005 19:44
217.118.78.1
,
пустое
)
сдвинуть влево на 8 и побитовое и c 0x0F
—
rs
(26.08.2005 19:35
82.207.89.211
,
пустое
)
Пробовал, при компиляции выполняется 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
,
пустое
)
Ответ: name_char = name_integer >> 8;
—
amok
(26.08.2005 19:34
213.184.224.207
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
NoIX ключ
:
Запомнить
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru