开发者社区> 问答> 正文

Java中运算符 |是做什么的?

我看了一些Java代码,发现了运算符|,在以下这种情况是做什么的?

for (int i=0; i<8; i++) { x[i] = hexBytes[i*4] << 24 | hexBytes[i*4+1] << 16 | hexBytes[i*4+2] << 8 | hexBytes[i*4+3]; }

展开
收起
小六码奴 2019-10-10 15:38:33 3511 0
3 条回答
写回答
取消 提交回答
  • 按位操作符OR

    2020-05-06 16:16:47
    赞同 展开评论 打赏
  • 按位操作符OR(和AND)可用于位处理。AND可以提取一组位:int lowest8bits = 0xFFFFF & 0xFF;。

    用OR可以插入位。在上面的代码中,int通过将4个字节移到正确的位置并将其OR对齐,将4个字节插入相同的int。

                           10010010 byte
                  10010010          << 8
    

    00000000 00000000 00000000 00010110 The int we're building 00000000 00000000 10010010 00010110 End result in int after OR

    2019-10-10 16:44:20
    赞同 展开评论 打赏
  • 精于基础,广于工具,熟于业务。

    | 这是位位运算符

    2019-10-10 15:58:26
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载