谢谢“飞跃”! 不过 i <<= 8 是 i = i << 8 操作的简写 那 i ^= info[2] & 0xff 是 i = i ^ (info[2] & 0xff) 的意思吗? 你说道的保留最后一个字节,是不是保留 info[2]中的最后一个字节?还是i中的最后一个字节?麻烦你了!
“那 i ^= info[2] & 0xff 是 i = i ^ (info[2] & 0xff) 的意思吗? 你说道的保留最后一个字节,是不是保留 info[2]中的最后一个字节?还是i中的最后一个字节?麻烦你了!”是info[2]的最后一字节的内容。然后把这个内容再和i做 ^ 运算。
举例: public class TestLog { public static void main(String[] args) { int i1=0xA301; int i2=0xff; System.out.println(i1&i2); int i3=0xF101;//注意是16进制的,不是二进制 int i4=0xF110;//注意是16进制的,不是二进制 System.out.println(i3^i4); } } 输出分别为: 1 17
这个表达的实质是只保留i的低两个字节内容”sorry,是低一个字节的内容,就是最后一字节。
不过 i <<= 8 是 i = i << 8 操作的简写
那 i ^= info[2] & 0xff 是 i = i ^ (info[2] & 0xff) 的意思吗?
你说道的保留最后一个字节,是不是保留 info[2]中的最后一个字节?还是i中的最后一个字节?麻烦你了!
你说道的保留最后一个字节,是不是保留 info[2]中的最后一个字节?还是i中的最后一个字节?麻烦你了!”是info[2]的最后一字节的内容。然后把这个内容再和i做 ^ 运算。
public class TestLog
{
public static void main(String[] args)
{
int i1=0xA301;
int i2=0xff;
System.out.println(i1&i2);
int i3=0xF101;//注意是16进制的,不是二进制
int i4=0xF110;//注意是16进制的,不是二进制
System.out.println(i3^i4);
}
}
输出分别为:
1
17