设int a=1 则表达式(true|(++a))&(a==2)的值是什么,为什么?

1个回答
展开全部
摘要 亲下午好哦因为按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。当参与运算的是负数时,参与两个数均以补码出现。括号优先级最高,所以表达式是x&y的形式,因为是++a先取值在计算所以a=2 true是1 1|2 是01|10 所以是11所以是3,所以后面运算a==2时,a已经是2了,所以后面也是true,3&1 所以结果是true 或者是1。
咨询记录 · 回答于2022-11-22
设int a=1 则表达式(true|(++a))&(a==2)的值是什么,为什么?
亲下午好哦因为按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。当参与运算的是负数时,参与两个数均以补码出现。括号优先级最高,所以表达式是x&y的形式,因为是++a先取值在计算所以a=2 true是1 1|2 是01|10 所以是11所以是3,所以后面运算a==2时,a已经是2了,所以后面也是true,3&1 所以结果是true 或者是1。
亲,是b哦
1. 运行编译好的字节码文件。2.关系表达式 3. System.out.printf package test。4. x的值变为20。
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消