加载中…
个人资料
sheng小進
sheng小進
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,278
  • 关注人气:7
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

缩位运算符(也有称为归约运算符)

(2012-07-24 14:56:09)
标签:

缩减运算符

杂谈

分类: 不敢说是技术
缩位运算符(也有称为归约运算符),单目运算符,常用的有&、|、^.
在夏闻宇老师的《verilog数字系统设计》中,对缩减运算符的描述是这样的:
缩减运算符是单目运算符,也有与或非运算。其与或非运算规则类似于位运算符的与或非运算规则,但其运算过程不同。位运算是对操作数的相应位进行与或非运算,操作数是几位数则运算结果也是几位数。而缩减运算则不同,缩减运算是对单个操作数进行或与非递推运算,最后的运算结果是一位的二进制数。缩减运算的具体运算过程是这样的:第一步先将操作数的第一位与第二位进行或与非运算,第二步将运算结果与第三位进行或与非运算,依次类推,直至最后一位。  
例如:reg [3:0] B;  
reg C;  
C = &B;  
相当于:  
C =( (B[0]&B[1]) & B[2] ) & B[3];  
描述和例子都是易懂的,看的时候也就点点头过去了,但某天突然想到一个问题,“非”怎么进行缩减运算呢?这厮本身就是一个单目运算符啊,所以各种百度。引用的人很多,貌似注意到这一点的人很少啊···然后在一个论坛上发现了有人有同样的问题,有大牛列举了国外教材证明在缩减运算符里是没有“非”运算的。另外,极重要的“异或”运算夏老师的书中也没有提到。
原帖地址:http://forum.eepw.com.cn/thread/182573/1
所以,读书要思考啊,大牛写的书也可能会出点差错的!
如果有时间和精力,把缩减运算符的应用整理一下,作为硬件语言独有的运算符,网上没找到有系统介绍的资料。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有