题解 | #使用函数实现数据大小端转换#

使用函数实现数据大小端转换

https://www.nowcoder.com/practice/74c0c19ad0c444959c436a049647a93c

`timescale 1ns/1ns
module function_mod(
	input [3:0]a,
	input [3:0]b,
	
	output [3:0]c,
	output [3:0]d
);


/*大端:高字节存放在低地址,低字节存放在高地址,一般叫 网络字节顺序。
小端:高字节存放在高地址,低字节存放在低地址(记忆方法,高高低低),一般叫 主机字节顺序。
例如,十六进制数 12345678,转换后为 78563412
对于 1 个字节的数据不需要考虑大小端,超过 1 个字节的数据才需要考虑
*/

genvar i;
generate
	for(i = 0 ; i <= 3 ; i = i + 1)
	begin:convert
	    assign c[i] = a[3-i];
		assign d[i] = b[3-i];
	end
endgenerate

endmodule

大小端转换刚开始还不理解 其实本质上就上给输入数据调换数据 高位数据放到低地址上去 地位数据放到高地址上去 其实这就是一个for循环搞定的事情

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:26
点赞 评论 收藏
分享
Java大菜狗:纯纯招黑奴,一天还不到两百那么多要求,还不迟到早退,以为啥啊,给一点工资做一堆活,还以不拖欠员工工资为荣,这是什么值得骄傲的事情吗,纯纯***公司
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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