Форум программистов, компьютерный форум CyberForum.ru

Как правильно объяснить это словами if (!(i & 1)) - C++

Восстановить пароль Регистрация
 
BOT
44 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 115
23.04.2012, 17:20     Как правильно объяснить это словами if (!(i & 1)) #1
Как правильно объяснить это словами if (!(i & 1))!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
23.04.2012, 18:02     Как правильно объяснить это словами if (!(i & 1)) #2
если i четно

1) (i & 1) - проверяет четно или нечетно i
2) ! - инвертирует результат выражения 1
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
23.04.2012, 18:08     Как правильно объяснить это словами if (!(i & 1)) #3
У четных чисел последний бит = 0.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
23.04.2012, 18:17     Как правильно объяснить это словами if (!(i & 1)) #4
Цитата Сообщение от BOT Посмотреть сообщение
&
это оператор побитового "И"
он берёт двоичное представление двух чисел и побитово выполняет "и"
например
a=5; //0000 0101
b=4; //0000 0100
c=a&b;//0000 0100
бит числа с равен 1, если оба бита операндов равны 1, иначе 0
в нашем случае операция выполняется с числом один
то есть 0000 0001
а это значит, что у a&1 все биты кроме последнего будут нули.
результат зависит от последнего бита числа а
если младший бит а - ноль, то результат будет 0, иначе 1
младший бит ноль будет, если число чётное.
Итак if (x&1){} проверяет число на чётность
Yandex
Объявления
23.04.2012, 18:17     Как правильно объяснить это словами if (!(i & 1))
Ответ Создать тему
Опции темы

Текущее время: 01:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru