题解 | #奇偶校验#
奇偶校验
http://www.nowcoder.com/practice/67d4dd382bb44c559a1d0a023857a7a6
本题的意思还挺难懂的,意思是让输出一个奇偶校验位的值check
先将bus所有的位异或,出来的结果is_odd表示bus中1是否有奇数个,1表示是奇数个,0表示是偶数个
当sel=0的时候,为奇校验,要求bus所有位加上check这位,一共有奇数个1, 因此 如果is_odd已经是1了,表示bus中1的个数已经奇数个,所有check=0即可,即check = ~is_odd 当sel=1时,为偶校验,同理,check=is_odd
另外如果用所有位直接异或是可以的,只不过综合的时候eda工具会优化 居然忘记有按位异或的功能了,笑哭