返回按位或运算的一......登陆

按位或运算的一种应用方式

高洛峰2016-11-05 13:47:03339

 java.nio.Buffer.java源码中有如下代码:

static void checkBounds(int off, int len, int size) {
    if ((off | len | (off + len) | (size - (off + len))) < 0)
        throw new IndexOutOfBoundsException();
}

对 

if ((off | len | (off + len) | (size - (off + len))) < 0)

很好奇,如果我自己写,可能会写成

if (off < 0 || len < 0 || (off + len) < 0 || (size- (off + len)) < 0)

 

按位或运算大家都知道,所以如果有一个数是负数,则结果也是负数。


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送