区分运算符
逻辑运算符:逻辑与(&&)、逻辑或(‖)、逻辑非(!),其中逻辑与和逻辑或是双 目运算符,逻辑非是单目运算符。逻辑运算符的操作数是逻辑0和逻辑 1。若操作数中存在不定态x,则运算结果也是不定态。
举例:a=4'b1110,b=4'b0000,则a的值不为0,为1,b的值为0,所 以!a=0,b!=1,a&&b=1&&0=0,a‖b=1‖0=1。
按位运算符:按位取反(~)、按位与(&)、按位或(|)、按位异或(^)、按位 同或(^~)。两个数据的对应位进行比较。
举例:a=5'b101,b=5'b11101,则a在运算时自动变为5'b00101。~a =5'b11010,a&b=5'b00101,a|b=11101,a^b=5'b11000。
归约运算符:属于单目运算符,按位进行逻辑运算。因为运算的结果是产生一位逻辑 值,也称缩位运算符。与(&)、或(|)、异或(^)及相应的非操作 ~&、~|、~^、^~。操作数只有一个。从最低位开始运算。
举例:a=6'b101001,则&a=0,|a=1,^a=0。
&a的运算过程:a从右向左依次按位与,1&0=0,然后0&0=0,然 后0&1=0,然后0&0=0,然后0&1=0,所以&a=0。