网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

Verilog HDL无符号数和有符号数

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

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)。



热门搜索:PS2408 602-15 BT152-500R/600R TLP606B 6SPDX PDU12IEC TLM825GF 02M1001JF 02T1001JF BT137S-500E PS-415-HG-OEM B3429D SBB830 PS-415-HG PS120406 LS606M CC2544RHBR 2839570 PDU2430 ULTRABLOK B30-7100-PCB LED12-C2 01C1001JF TLP712 2920120
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质