阿东Verilog技术专版
直播中

唐文彬

11年用户 93经验值
擅长:可编程逻辑 嵌入式技术 模拟技术 处理器/DSP 控制/MCU
私信 关注
[求助]

关于无符号数和有符号数的困惑

菜鸟入门,刚刚学到这里碰到了问题:
reg   [0:5]   Bar;   
integer   Tab;
Bar =  -4'd12;   //寄存器变量Bar的十进制数为52,向量值为110100.(因为Bar是一般寄存器变量,存储无符号数)
Tab = -4'd12;   //整数Tab的十进制数为-12,位形式为110100.(因为Tab是整数寄存器变量,存储有符号数)
我的困惑是,-12的二进制补码应该是10100,为什么这里写成110100了?前面为啥多个1??
求大神指教~谢谢!

回帖(6)

唐文彬

2013-11-2 14:38:05
啊,刚刚看书终于想明白了,因为在赋值语句下,算数操作结果的长度有操作符左端目标长度决定。-12的源码为101100,那么二进制补码就应该是110100. 唉,都怪自己看书没认真思考,让大家见笑了。。
举报

东东

2013-11-4 22:57:22
顶起哈 谢谢分享!!!
举报

唐文彬

2013-11-4 23:06:16
引用: 100dongdong 发表于 2013-11-4 22:57
顶起哈 谢谢分享!!!

呵呵,自学verilog,很多东西不懂,希望跟大家多多交流,共同进步!~
举报

norkia8910

2014-1-2 21:28:00
好好学习,天天向上。。。。
举报

L•Y

2014-9-11 23:58:19
这个是基础知识啊
举报

唐文彬

2014-12-26 19:19:21
引用: L•Y 发表于 2014-9-11 23:58
这个是基础知识啊

见笑了,还请多多指教。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分