题解 | #奇偶校验#

奇偶校验

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 是数据,也就是我们对数据做异或运算,所以一个三目运算符就可以搞定啦!

全部评论

相关推荐

2025-12-29 22:34
武汉大学 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务