日期:2014-05-20  浏览次数:20740 次

k=k>>1 ???
ublic synchronized void dispBlock(int s){
  int k = 0x8000;
  for (int i = 0; i < 4; i++){
  for(int j = 0; j < 4; j++){
  if(((int)pattern[blockType][turnState]&k) != 0){
  scr.drawUnit(row-i,col+j,s);
  }
  k=k>>1;
  }
  }
  }
k=k>>1是什么意思?

------解决方案--------------------
>>是右移操作符, >>的权限比赋值操作符=高,所以
k=k>>1 就相当于 k = (k >> 1)也就是把k的2进制数整体往右移动一位,最左边用0补充。
------解决方案--------------------
正整数 右移1位相当于除以 2。
------解决方案--------------------
呵呵,来慢了。
------解决方案--------------------
右移一位!
------解决方案--------------------
探讨
正整数 右移1位相当于除以 2。

------解决方案--------------------
探讨

>>是右移操作符, >>的权限比赋值操作符=高,所以
k=k>>1 就相当于 k = (k >> 1)也就是把k的2进制数整体往右移动一位,最左边用0补充。