Иногда мне нужно убедиться, что какое-то целое число четное. Таким образом, я мог бы использовать следующий код:
int number = /* magic initialization here */;
// make sure the number is even
if ( number % 2 != 0 ) {
number--;
}
, но это не кажется очень эффективным наиболее эффективным способом сделать это, поэтому я мог бы сделать следующее:
int number = /* magic initialization here */;
// make sure the number is even
number &= ~1;
но (кроме того, что он не читабельно) Я не уверен, что решение полностью переносимо.
примечание: Предполагается, что этот код работает только с положительными целыми числами, но наличие решения, которое также работает с отрицательными числами, было бы плюсом.