0


题目:在C语言中,表达式23|2^5的值是()

今天遇到这样一道题:

在C语言中,表达式23|2^5的值是()

A 18

B 1

C 23

D 32

正确答案选C,为什么呢?一分钟讲完咱们就下课

“|”、“^”是逻辑位运算符

C语言里,逻辑位运算符“|”、“^”的定义是这样的:

** “|” 运算符(位或)用于对两个二进制操作数逐位进行比较,并根据如表格所示的换算表返回结果。**

“|”运算符
第一个数的位值第二个数的位值运算结果111101011000
“^”运算符(位异或)用于对两个二进制操作数逐位进行比较,并根据如表格所示的换算表返回结果。

“^”运算符
第一个数的位值第二个数的位值运算结果110101011000
回头来看这道题:

    “^”优先级高于“|”

    下图以算式的形式解析了 2 和 5 进行位异或运算的过程。![](https://img-blog.csdnimg.cn/20210810123247838.png)

    2 和 5 进行位异或运算,得到 7;

    下图以算式的形式解析了 7 和 23 进行位或运算的过程。![](https://img-blog.csdnimg.cn/20210810123346286.png)

    所以,答案是 23,选 C。

    有兴趣的可以看看 JS &、|、^和~(逻辑位运算符),

    里面写了JS的位或运算符,JS的位或运算符与C语言是一样的。
标签: c#

本文转载自: https://blog.csdn.net/weixin_44550335/article/details/119567015
版权归原作者 一名12岁的C++爱好者 所有, 如有侵权,请联系我们删除。

“题目:在C语言中,表达式23|2^5的值是()”的评论:

还没有评论