Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java按位操作_Java - Fatal编程技术网

Java按位操作

Java按位操作,java,Java,我有这行代码 int b1 = 0xffff & (content[12]<<8 | 0xff & content[11]); int b1=0xffff&(content[12]由于两个因素的汇合,0xff是必要的: Java中的所有整数类型都是有符号的 所有按位运算符在执行操作之前将其参数提升为int(或long,如果需要) 结果是,如果设置了内容[11]的高阶位,它将被符号扩展为负int值。然后需要和使用0xff将其返回到(正)字节值。否则,当使用内容[12]

我有这行代码

int b1 = 0xffff & (content[12]<<8 | 0xff & content[11]);

int b1=0xffff&(content[12]由于两个因素的汇合,
0xff
是必要的:

  • Java中的所有整数类型都是有符号的
  • 所有按位运算符在执行操作之前将其参数提升为
    int
    (或
    long
    ,如果需要)

  • 结果是,如果设置了
    内容[11]
    的高阶位,它将被符号扩展为负
    int
    值。然后需要
    使用
    0xff
    将其返回到(正)字节值。否则,当
    使用
    内容[12]的结果时因为字节被解释为有符号整数,这意味着,例如,(字节)0x80得到(int)0xffffff80。这被称为符号扩展。Thx用于回复!我不会猜到内容[11]我想,当我将两个值与或组合在一起时,它们将在位级别上按原样使用。Cheers@John如果你对这个答案感到满意(你看起来也很满意),请。
    
    int b1 = 0xffff & (content[12]<<8 | content[11]);