黑马程序员技术交流社区
标题:
z=(x+y)>>1 这个式子的意思?
[打印本页]
作者:
会说话的木头
时间:
2014-3-6 15:41
标题:
z=(x+y)>>1 这个式子的意思?
如题!这是一种什么用法?
作者:
谭荣强
时间:
2014-3-6 16:05
z=(x+y)>>1 要看运算符的优先级。()大于>>大于=,相当于x+y的值右移一位,然后赋值给z
作者:
孟茹
时间:
2014-3-6 17:14
它的意思是把 x+y的值算出来以后,然后右移一位 ,最后赋给z, >> 是二进制里面的右移的运算符,这就相当于计算把x+y的值转成二进制后右移一位,根据二进制的运算方法,例如11111111,右移一位就会变成01111111,左侧补零,这个在老师那个视频里有讲的,是在进制转换那儿
作者:
syusikoku
时间:
2014-3-6 17:28
其实z的值就是将x与y的和往右移两位,高位用0补充。右移的操作是/2的倍数。即右移一位/2,右移2位/4,你可以多看一下毕老师的java基础的视频。
作者:
12560zhang
时间:
2014-3-6 18:45
本帖最后由 12560zhang 于 2014-3-6 18:47 编辑
这个主要考查的是运算符的优先级F:\JAVA\java pic\运算符\运算符的优先级和结合型.png
运算符的优先级和结合型.png
(42.12 KB, 下载次数: 3)
下载附件
2014-3-6 18:47 上传
作者:
victorsun
时间:
2014-3-6 19:13
你必须先知道上述表达式中的运算符的优先级,()的优先级最高,>>其次,=最低,那么就很好解释了,先算出x=y的值并将其值右移一位,就是对应的二进制右移一位,再把所得到的值赋给z
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2