[an error occurred while processing this directive]
(*(long int *)&float_var) & 0x80000000
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
SM
28 июня 2006 г. 15:23
В ответ на:
Проверка float на отрицательность в IAR.
отправлено <font color=gray>Chip'n'Go</font> 28 июня 2006 г. 15:06
Составить ответ
|||
Конференция
|||
Архив
Ответы
Только для 8-битника это не сильно оптимально по сравнению варианта от автора темы.
—
Elektronik
(28.06.2006 15:29
194.85.99.225
,
пустое
)
только массив не нужен, если на проверку только младший бит
—
Flip Martian
(28.06.2006 15:37
81.195.5.40
,
пустое
)
старший
—
Flip Martian
(28.06.2006 15:40
81.195.5.40
,
пустое
)
не вопрос - (*(((char *)&float_var)+3)) & 0x80 если little endian, и без +3 - если big. Но, как видите, не универсально относительно endiannes
—
SM
(28.06.2006 15:35
195.225.131.186
,
пустое
)
все одно - код непереносимый :-). Проканает только для IEEEшного флота.
—
andy_P
(28.06.2006 15:41
80.82.63.185
,
пустое
)
А для этого #define придумали :)
—
SM
(28.06.2006 15:59
195.225.131.186
,
пустое
)
Спасибо подходит, не думал что 1 бит можно проверять таким изощренным способом.
—
Chip'n'Go
(28.06.2006 15:28
195.98.82.25
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
NoIX ключ
:
Запомнить
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
E-mail:
info@telesys.ru