位置:51电子网 » 技术资料 » 其它综合

Verilog HDL无符号数和有符号数

发布时间:2008/6/5 0:00:00 访问次数:2135

执行算术操作和赋值时,注意哪些操作数为无符号数、哪些操作数为有符号数非常重要。无符号数存储在:
* 线网
* 一般寄存器
* 基数格式表示形式的整数
  有符号数存储在:
* 整数寄存器
* 十进制形式的整数
  下面是一些赋值语句的实例:

reg [0:5] bar;
integer tab;
. . .
bar = -4'd12; //寄存器变量bar的十进制数为52,向量值为110100。
tab = -4'd12; //整数tab的十进制数为-12,位形式为110100。

-4'd12 / 4 //结果是1073741821。
-12 / 4 //结果是-3

  因为bar是普通寄存器类型变量,只存储无符号数。右端表达式的值为'b110100(12的二进制补码)。因此在赋值后,bar存储十进制值52。在第二个赋值中,右端表达式相同,值为'b110100,但此时被赋值为存储有符号数的整数寄存器。tab存储十进制值-12(位向量为110100)。注意在两种情况下,位向量存储内容都相同;但是在第一种情况下,向量被解释为无符号数,而在第二种情况下,向量被解释为有符号数。
  下面为具体实例:

bar = - 4'd12/4;
tab = - 4'd12 /4;

bar = - 12/4
tab = - 12/4

  在第一次赋值中,bar被赋于十进制值61(位向量为111101)。而在第二个赋值中,tab被赋于与十进制1073741821(位值为0011...11101)。bar在第三个赋值中赋于与第一个赋值相同的值。这是因为bar只存储无符号数。在第四个赋值中,bar被赋于十进制值-3。
  下面是另一些例子:

bar = 4 - 6;
tab = 4 - 6;
bar被赋于十进制值62(-2的二进制补码),而tab被赋于十进制值-2(位向量为111110)。

  下面为另一个实例:

bar = -2 + (-4);
tab = -2 + (-4);
bar被赋于十进制值58(位向量为111010),而tab被赋于十进制值-6(位向量为111010)。



执行算术操作和赋值时,注意哪些操作数为无符号数、哪些操作数为有符号数非常重要。无符号数存储在:
* 线网
* 一般寄存器
* 基数格式表示形式的整数
  有符号数存储在:
* 整数寄存器
* 十进制形式的整数
  下面是一些赋值语句的实例:

reg [0:5] bar;
integer tab;
. . .
bar = -4'd12; //寄存器变量bar的十进制数为52,向量值为110100。
tab = -4'd12; //整数tab的十进制数为-12,位形式为110100。

-4'd12 / 4 //结果是1073741821。
-12 / 4 //结果是-3

  因为bar是普通寄存器类型变量,只存储无符号数。右端表达式的值为'b110100(12的二进制补码)。因此在赋值后,bar存储十进制值52。在第二个赋值中,右端表达式相同,值为'b110100,但此时被赋值为存储有符号数的整数寄存器。tab存储十进制值-12(位向量为110100)。注意在两种情况下,位向量存储内容都相同;但是在第一种情况下,向量被解释为无符号数,而在第二种情况下,向量被解释为有符号数。
  下面为具体实例:

bar = - 4'd12/4;
tab = - 4'd12 /4;

bar = - 12/4
tab = - 12/4

  在第一次赋值中,bar被赋于十进制值61(位向量为111101)。而在第二个赋值中,tab被赋于与十进制1073741821(位值为0011...11101)。bar在第三个赋值中赋于与第一个赋值相同的值。这是因为bar只存储无符号数。在第四个赋值中,bar被赋于十进制值-3。
  下面是另一些例子:

bar = 4 - 6;
tab = 4 - 6;
bar被赋于十进制值62(-2的二进制补码),而tab被赋于十进制值-2(位向量为111110)。

  下面为另一个实例:

bar = -2 + (-4);
tab = -2 + (-4);
bar被赋于十进制值58(位向量为111010),而tab被赋于十进制值-6(位向量为111010)。



上一篇:Verilog HDL操作数

上一篇:按位操作符

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!