求十六进制高低位倒置的算法或工具

求十六进制高低位倒置的算法或工具,第1张

我用verilog语言写吧。以16位十六进制数举例
module change(clk,rst,out);
input clk,rst;
output [15:0]out;
reg [15:0]data;
reg [15:0]out;
reg [3:0]width;
always@(posedge clk)
if(!rst)
begin
output<=16'h0000;
end
else if(width==15)
width<=0;
else
begin
width<=width+1'b1;
out[width]<=data[15-width];
end
就是自己写一段代码,然后将reg data中的一组16位数反过来赋值给输出

能不能把问题问得详细一点,如果只是简单判断计算机存储数据的高位放在地址还是低地址的话,这个需要确定计算机的内存存放数据是以大端规则小端规则,如果大端,则数据的高位放在低地址端,数据低位放在高地址端,例如我有一个16进制数,0x23,即二进制的0010 0011,从左到右是高位到地位。我有一个内存地址是0x0000~0x0010,大端就是把高位16进制数的4个高位放在低地址上即,0010放在内存高地址0x0001上,而16进制低位数据0011放在内存低地址0x0000上。小端规则,就是高位数据放在高位地址,低位数据放在地地址位,与大端相反


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13384832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存