已知:int a=3,b=5; 求下列表达式的值: (1)(a+b)%b (2)b>a (3)-b>a (4)a&b (5) ++a-b++ 答案:(1)3 (2)0 (3) 536870911 (4)1 (5)-1
时间: 2023-12-16 11:04:05 浏览: 85
好的,让我来解释一下这些表达式的值:
(1) (a+b)%b = (3+5)%5 = 3,因为 (a+b) 除以 b 的余数为 3。
(2) b>a 为 true,因为 5 大于 3。
(3) -b>a 为 false,因为 -5 不大于 3。
(4) a&b = 1,因为 a 和 b 的二进制分别为 011 和 101,按位与运算后为 001,即 1。
(5) ++a-b++ = 4-5 = -1,因为 ++a 先将 a 加 1 后返回值为 4,而 b++ 先返回原值 5 后再将 b 加 1。
相关问题
已知:int a=40, b=2; 求表达式的值:(a&0377)|(b&0xff)<<8
根据运算符优先级,先进行位运算符 & 运算,再进行位运算符 | 和左移运算符 << 运算。其中,& 用于取 a 和 b 的低 8 位(即 a & 0377 和 b & 0xff),| 用于将两个值合并为一个值,<< 8 用于将 b 的低 8 位移动到高 8 位。
因此,表达式的值为 40 & 0377 | (2 & 0xff) << 8 = 40 | 512 = 552。
已知a+b+2ab=14,求a+b可能的值
首先将已知条件 a+b+2ab=14 转化为 (a+1)(b+1)=15,因为 15 的因数有 1、3、5、15,所以可能的组合是:
- a+1=1,b+1=15,此时 a+b=0+14=14
- a+1=3,b+1=5,此时 a+b=2+4=6
- a+1=5,b+1=3,此时 a+b=4+2=6
- a+1=15,b+1=1,此时 a+b=14+0=14
因此,a+b 可能的值为 6 或 14。