/*A value has even parity if it has an even number of 1 bits.
*A value has an odd parity if it has an odd number of 1 bits.
*For example, 0110 has even parity, and 1110 has odd parity.
*Return 1 iff x has even parity.
*/
int has_even_parity(unsigned int x) {
}
Я не уверен, с чего начать писать эту функцию, я думаю, что я прохожу через значение в виде массива и применяю к ним операции xor. Что-то вроде следующей работы? Если нет, каков способ приблизиться к этому?Даже четность unsigned int
int has_even_parity(unsigned int x) {
int i, result = x[0];
for (i = 0; i < 3; i++){
result = result^x[i + 1];
}
if (result == 0){
return 1;
}
else{
return 0;
}
}
Смотрите здесь: http://stackoverflow.com/ вопросы/109023/how-to-count-the-number-of-set-bits-in-a-32-bit-integer – Linuxios
См. здесь: [stackoverflow.com/questions/21617970/how-to-check-if- значение-имеет-четно-четность из-бита-или-нечетная] (http://stackoverflow.com/questions/21617970/how-to-check-if-value-has-even-parity-of-bits-or -странный). – Troyseph