[an error occurred while processing this directive]
Не согласен (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено quark 26 июля 2005 г. 08:41
В ответ на: Это, пожалуй, самый нормальный способ будет. Здесь не важно расположение байтов (BE или LE). отправлено Bill 26 июля 2005 г. 08:15

Значение BE или LE постоянно для всей программы.

Команда "high = myint/256;" приведет к одной
дополнительной арифметической операции
(в лучшем случае это: ">>8"),
которая по-моему не нужна.

Написать программу рабатающую и на BE и на LE
не пробовал, но думаю, что не просто,
т.к. существуют struct, array[] и т.д.

Поэтому проще по-моему так:

#define LE 1

#ifdefined LE
#define LOWCHAR(x) ((char)(x))
#define HIGNCHAR(x) (*(char*)&(x)+1)
#else
#define LOWCHAR(x) (*(char*)&(x)+1)
#define HIGNCHAR(x) ((char)(x))
#endif

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru