реклама на сайте
подробности

 
 
> Последовательность проведения операций в С
Мусатов Констант...
сообщение Feb 28 2007, 14:58
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172



Помнит ли кто спецификацию языка С?
Мне казалось, что битовые операции должны выполняться раньше оперций сравнения.
Например, такой код
if( *ptr & 0x0F == 0x01 )
Сколько я помнил, сначала должна быть выполнена операция &, а потом ==. В отличие, например от
if( *ptr && 0x0F == 0x01 )
Где сначало должно пройти сравнение, а потом &&.

Если я не ошибаюсь, то ошибается IAR 4.40, он на первый пример полностью пропускает весь код, считая что 0x0F никогда не равен 0x01. Я решил этот вопрос скобками, но все же...
if( (*ptr & 0x0F) == 0x01 )
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 05:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016