题解 | #奇偶校验#
奇偶校验
https://www.nowcoder.com/practice/67d4dd382bb44c559a1d0a023857a7a6
`timescale 1ns/1ns module odd_sel( input [31:0] bus, input sel, output check ); //*************code***********// assign check = sel?^bus:!(^bus); //*************code***********// endmodule
实际上我们只需要明白,奇偶校验就是去数一组数据里有几个1,奇校验就是里边有奇数个1,校验位就是0,偶数个1校验位就是0,偶校验则反之,运算的逻辑就是对数据做异或运算,比如一组数据:11001100,我们做异或运算,奇校验时校验位就是0,偶校验时对校验位取反即可,明白他的运算规则以后就好办了,bus 是数据,也就是我们对数据做异或运算,所以一个三目运算符就可以搞定啦!

查看1道真题和解析