首页 > 代码库 > 按位或运算的一种应用方式
按位或运算的一种应用方式
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)
按位或运算大家都知道,所以如果有一个数是负数,则结果也是负数。
如果有对按位或运算(|)不清楚的,可以参看这篇文章。
按位或运算的一种应用方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。