将字符“1”转换为十六进制“4'h0001”
Converting Char "1" to hex "4'h0001"
我正在尝试将字符串转换为相同的十六进制值。例如
如果 string="abc123" 它的十六进制值也应该是 24'habc123。
字符串的长度是 64,所以我将每个字符转换为十六进制,我将得到 64*4=256 位的十六进制值
例如,如果 text_o_cplus.getc(i)=a 即 97,我应该给它分配一个十六进制值 a 即 4'ha;
但我没有得到正确的方法来做到这一点。这就是我试过的
int j=255;
for(int i=text_o_cplus.len();i>0;i--)
begin
while(j>=0)
begin
case(text_o_cplus.getc(i))
48: begin
rev_result[j]=4'b0000;
j=j-4;
break;
end
and so on.
rev_result 定义为
bit [64][4] rev_result;
我试着定义为
bit [255:0] rev_result
也有,但没用。
有人可以建议我如何实现吗?
使用内置函数:
bit [255:0] rev_result = text_o_cplus.atohex();
我正在尝试将字符串转换为相同的十六进制值。例如
如果 string="abc123" 它的十六进制值也应该是 24'habc123。 字符串的长度是 64,所以我将每个字符转换为十六进制,我将得到 64*4=256 位的十六进制值
例如,如果 text_o_cplus.getc(i)=a 即 97,我应该给它分配一个十六进制值 a 即 4'ha; 但我没有得到正确的方法来做到这一点。这就是我试过的
int j=255;
for(int i=text_o_cplus.len();i>0;i--)
begin
while(j>=0)
begin
case(text_o_cplus.getc(i))
48: begin
rev_result[j]=4'b0000;
j=j-4;
break;
end
and so on.
rev_result 定义为
bit [64][4] rev_result;
我试着定义为
bit [255:0] rev_result
也有,但没用。
有人可以建议我如何实现吗?
使用内置函数:
bit [255:0] rev_result = text_o_cplus.atohex();