|| если хотя бы один из аргументов true, то возвращает true, иначе – false&& если оба аргумента true, то возвращает true, иначе falsea & b Ставит 1 на бит результата, для которого соответствующие биты операндов равны 1.a | b Ставит 1 на бит результата, для которого хотя бы один из соответствующих битов операндов равен 1.