提问人:Arijit Ghosh 提问时间:5/26/2022 最后编辑:Vlad from MoscowArijit Ghosh 更新时间:5/1/2023 访问量:1069
5 的值是多少 |3 in C?
What is the value of 5 | 3 in C?
问:
根据布尔代数,5 等价于二进制的 101。3 相当于 011。因此,如果我们计算 101 |011 那么它应该是 1000,相当于 2^3 = 8,但在 vs 代码中编译器给出 7,我的解决方案中是否有任何错误?
答:
1赞
Vlad from Moscow
5/26/2022
#1
根据 C 标准(6.5.12 位(含 OR 运算符)
4 |operator 是 操作数(即,当且仅当 at 在转换的操作数中至少设置一个相应的位)。
所以你有
101
|
011
====
111
1赞
Jyothi
4/26/2023
#2
您必须对单个位执行 or 运算,如 1|0=1,1|1=1,0|1=1,0|0=0。
for 5,the value in bits=1 0 1
for 3,the value in bits=0 1 1
------
1 1 1,which is 7.
下一个:C 中布尔值的逻辑函数错误
评论
101 | 011
1000
|