Что, если (a & 1) означает, что a является int? - PullRequest
0 голосов
/ 20 февраля 2019

С учетом этого кода

int arry[2]; //equal to some values

if (arry[0] & 1) //what does this mean?
{
    // do something
}

1 Ответ

0 голосов
/ 20 февраля 2019

& - побитовый оператор AND.Побитовая операция И выполняет логическую операцию И для соответствующих битов каждого операнда.В случае a & 1 левый операнд является целым числом a, а правый операнд является целым числом 1.

if Ключевое слово является синтаксисом для оператора if.Упрощенная грамматика оператора:

if ( condition ) statement-true

Оператор statement-true выполняется, только если выражение condition истинно.Здесь тип выражения condition является целочисленным типом.В этом случае условие истинно, если значение результата побитовой операции не равно нулю.

...