设有说明: int u=l,v=3,w=5; 表达式:u<<=(v|w)的值是( 求解结果加过程。。。谢谢
2014-05-19
展开全部
128
1.圆括号是一种用来改变原来表达式中优先级的运算符,所以有括号,先算括号里面的。
|是按位或运算符,相或操作是两个二进制位都为0时,结果是0,否则是1.
v=3=0000 0011,w=5=0000 0101, v|w=0000 0111=7
2.<<=是左移赋值运算符。a=a<<b表达式通常写为a<<=b. 同理,u<<=7,可以写为u=u<<7.即u=1=0000 0001,向左移动7位。数字1左移7位,右端补0,1000 0000就是结果,二进制换成十进制是128.
3.表达式u<<=(v|w)的值是128.
卢韬旭
1.圆括号是一种用来改变原来表达式中优先级的运算符,所以有括号,先算括号里面的。
|是按位或运算符,相或操作是两个二进制位都为0时,结果是0,否则是1.
v=3=0000 0011,w=5=0000 0101, v|w=0000 0111=7
2.<<=是左移赋值运算符。a=a<<b表达式通常写为a<<=b. 同理,u<<=7,可以写为u=u<<7.即u=1=0000 0001,向左移动7位。数字1左移7位,右端补0,1000 0000就是结果,二进制换成十进制是128.
3.表达式u<<=(v|w)的值是128.
卢韬旭
2014-05-19
展开全部
<<= 左移赋值运算符
| 按位"或"运算符
按照运算符优先级,先算括号里的表达式:
v|w = 3|5 = 0011|0101 = 0111 = 7 (二进制“或”运算规则:1|1=1 1|0=1 0|0=0)
result = u <<= 7 (左移7位)
result = u = u << 7
= 1 << 7
= 2^8 (十进制1用二进制表达为00000001,二进制00000001左移7位为10000000,10000000为2^8次方 )
= 256
| 按位"或"运算符
按照运算符优先级,先算括号里的表达式:
v|w = 3|5 = 0011|0101 = 0111 = 7 (二进制“或”运算规则:1|1=1 1|0=1 0|0=0)
result = u <<= 7 (左移7位)
result = u = u << 7
= 1 << 7
= 2^8 (十进制1用二进制表达为00000001,二进制00000001左移7位为10000000,10000000为2^8次方 )
= 256
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询