c++中,a=1,那么 !a|a 的值为?是怎么算的??

2024-11-21 13:13:39
推荐回答(2个)
回答1:

!这个是取反的意思 |这个是或的意思
!a就是给a取反 得到0 成了 0|a =0|1
0和1或运算的结果是1 所以
!a|a 的值为1

回答2:

1、值是1.
2、按照符号优先级:
域级->类级->对象级->指针->数学->流->比较->位->条件->赋值->异常->序列
!a优先执行于a|a,所以有(!a)|a
3、如果a=1,即假设在4位的二进制模式下为0001,!后变成0000,0000|0001=0001。
所以a值不变。
4、!会把非0的数全部变0,0变为1