Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
а вообще наврал про реально никак
Отправлено
xDr_D
06 апреля 2009, г. 14:39
В ответ на:
Реально никак.
отправлено пользователем
xDr_D
06 апреля 2009, г. 14:37
unsigned long Test = 0x1;
unsigned short *Half = &Test;
if(Half[1])
// Big_endian
L = ((UL)B[0] << 24) | ((UL)B[1] << 16) | ((UI)B[2] << 8) | B[3];
else
L = ((UL)B[3] << 24) | ((UL)B[2] << 16) | ((UI)B[1] << 8) | B[0];
Составить ответ
|
Вернуться на конференцию.
Ответы
Что-то я не понял. Если про массив известно, в каком формате лежит число, то никаких Test не нужно и if-ов тоже. Если в массиве LE, то B[0] всегда младший байт и его всегда "не нужно" сдвигать (а если целевая машинка BE то компилятор задвинет сам).
-
ReAl
(06.04.2009, 15:58:25
89.162.152.53
,
пустое
)
Нет
-
xDr_D
(07.04.2009, 07:14:37
212.57.188.177
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 63:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru