返回0; } 请注意,上述方法仅适用于无符号值。 -MikeWe only discuss standard C here, not assembly language.Here''s a simple example in C:#include <limits.h>#include <stdio.h>unsigned int bits(unsigned int value){unsigned int result = 0;unsigned int mask = 1;while(mask){result += (value & mask) != 0;mask *= 2;}return result;}unsigned int even(unsigned int value){return !(bits(value) % 2);}unsigned int odd(unsigned int value){return !even(value);}int main(){const char *parity[] = {"ODD", "EVEN"};unsigned int i = 0;puts("Value Bits Parity");for(; i < 20; ++i)printf("%5u %4u %s\n", i, bits(i), parity[even(i)]);return 0;}Note that the above method will only work for unsigned values.-Mike 这篇关于一个词的奇偶校验的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-31 09:32
查看更多