回 帖 发 新 帖 刷新版面

主题:基础救助_位运算符

书:">>"执行算术右移,它使用最高位填充移位后左侧的空位.右移的结果为:
每移一位,第一个操作数就被2除一次,移动的次数由第二个操作数确定.
例:128>>1得到64
   256>>4得到16
疑问:为什么256>>4得到的是16,而不是8呢,它不是除了四次2吗

回复列表 (共2个回复)

沙发

System.out.println(Integer.toBinaryString(256));
System.out.println(Integer.toBinaryString(256>>4));
自己看吧,你肯定算错了

板凳

2^8/2^4=2^(8-4)=2^4=16

我来回复

您尚未登录,请登录后再回复。点此登录或注册