猿问

什么是 | 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];
}


慕仙森
浏览 115回答 2
2回答

呼啦一阵风

按位OR(和AND)可用于位处理。AND允许您提取一组位:int lowest8bits = 0xFFFFF & 0xFF;.您可以使用OR它插入位。int在上面的代码中,通过将 4 个字节移动到正确的位置并OR对其进行 ing,将它们插入到相同的内容中。&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;10010010 byte&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 10010010 00000000 << 800000000 00000000 00000000 00010110 The int we're building00000000 00000000 10010010 00010110 End result in int after OR

白猪掌柜的

使用的运算符有:“<<(左移)”:二进制左移运算符。左操作数的值向左移动右操作数指定的位数。“>>(右移)”:二进制右移运算符。左操作数的值向右移动右操作数指定的位数。“|(按位或)”:二元或运算符复制一个位(如果任一操作数中存在该位)。在你的代码中:hexBytes[i*4]&nbsp;&nbsp;&nbsp;<<&nbsp;24hexBytes[i*4] 的二进制值左移 24 位。与其他相同,结果是按位或|&nbsp;操作员。
随时随地看视频慕课网APP

相关分类

Java
我要回答