购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.5 运算符的优先级是否有必要记忆呢?

即便想记住,恐怕也不容易吧。除了常见的加减乘除,在硬件运算逻辑里面容易忽略的一些运算符(操作符)的优先级,包括等值操作符==、!=、===、!==,移位操作符<<、>>,按位操作符|、^以及逻辑操作符&&、||等。如果在运算时,以上这些运算符发生了混用,那么“强烈”建议大家使用小括号来表明运算意图!这可以避免很多因疏忽而带来的运算结果错误。甚至更糟糕的是,一时的疏忽大意还会让你在调试过程中困扰不已,直到某个时刻大脑迎来了光,才会茅塞顿开呢!

关键词:

operator 运算符(操作符),precedence 优先级

避坑指南:

遇到移位操作符、等值操作符、按位操作符等,建议使用小括号表明运算意图。例如, A + B << 4 ,并不表示A+B以后再左移4位,而实际上是B先左移4位再与A相加;又比如 A ^ B ! == C ,并不表示A^B运算后再与C判断等值,而是B先与C判断等值,待得出其逻辑结果1或0后,再与A进行异或运算。

这里附上IEEE-1800 SystemVerilog-2017标准手册关于运算符的优先级表格。

阅读手记: cLVJao2RtBDeFd2ILuD3BlgJCO8Ya0uNgIJD/0o5S/uGhdQ5rRdmiARDyF/VwHZ7

点击中间区域
呼出菜单
上一章
目录
下一章
×