Java byte类型转换成int类型时需要 & 0XFF的原因

时间:2021-07-20 12:34:39

Java byte类型转换成int类型时需要 & 0XFF的原因

假设有byte b  = -1;

那么b的二进制是:1111 1111。

如果将b直接转换为int类型,那么二进制是 1111 1111 1111 1111 1111 1111 1111 1111,这显然就不对了。

所以要与b进行&运算

0XFF的二进制是 0000 0000 0000 0000 0000 0000 1111 1111

那么运算之后到结果就是 0000 0000 0000 0000 0000 0000 1111 1111 这样二进制数据就正确了.