在Java中使用OR进行OR运算的问题?

时间:2015-09-14 03:24:58

标签: java byte

假设我在java中有以下代码

byte t = (byte) 0b10001000;
byte z = 0b00000000;
z = (byte) (t|z);

你认为输出将是10001000,但它最终在字符串表示中为-1111000, - 符号当然是第一个1,使其成为11111000.如果我执行相同的代码但是最后一位z为1,例如00000001,我执行相同的操作,我得到-1110111或11110111.我认为这是由于负符号字节t的一些转换问题。有什么方法可以避免这种情况吗?有没有办法让10000000在OR操作中与01000000相同?

0 个答案:

没有答案