[an error occurred while processing this directive]
Ответ: Тут все очень просто
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Bill 13 декабря 2002 г. 16:02
В ответ на: Алл в чем разница для ИАРа if ((a==b)&(a==c)) и if((a==b)&&(a==c)) отправлено Smart 13 декабря 2002 г. 15:32


Операция && - это логическое "И". Анализируется одновременное наступление двух условий - a==b И a==c. Компилятор (в данном случае) может просто не проверять остальные условия, если первое не выполняется.
Операция & - это побитовое "И". Здесь значение каждого из условий представляет собой некоторую величину - 0 при невыполнении данного условия, и ненулевое значение, если условие выполняется. Компилятор вычисляет значения ВСЕХ условий в выражении, а затем выполняет их побитовое "И", результат которого и определяет значение всего условного выражения.
Обычно первый вариант выполняеися быстрее, и код для него короче.

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

Ответы



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

E-mail: info@telesys.ru