【问题标题】:What does this mean (<< and >>> in calculation)? [duplicate]这是什么意思(<< 和 >>> 在计算中)? [复制]
【发布时间】:2014-09-02 20:32:36
【问题描述】:

我在 Java 类中找到了这个整数变量声明:

int i7 = ((0x1F & arrayOfByte[i][4]) >> 7);

但是箭头 (>>> 和

亲切的问候, 巴斯蒂安

更新: Sow 他们是位移运算符,谢谢! 找到这个很好的解释视频:https://www.youtube.com/watch?v=1qa0zvcdHXI

【问题讨论】:

标签: java android


【解决方案1】:

在这篇文章中,我们假设数字是一个十六进制数字,只是为了简单起见。

">>" 是位移运算符。例如:

8 >> 1 == 8 / 2 == 4;

二进制等价于

b1000 >> 1 == b0100;

将第三个“>”添加到运算符中会将 0 插入现在最左侧的插槽中,而不是进行符号扩展以确定它的值。

-1 >> 1 = b1111
-1 >>> 1 = b0111

这对于位掩码之类的东西更有用,其中将新值强制为 0 很方便。并且只适用于右移,没有

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-12
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    相关资源
    最近更新 更多