byte 转 int 为何要&0xFF?

byte a = -1;it

int b = a;            //b = -1;计算机

int c =a &&0xff;   //c = 255;

区别:计算机存储的是补码 ,byte a = -1;  //存储为1111 1111

强转会致使结果的值同样,因此int b = -1; //存储为11111111 11111111 11111111 1111 1111

&0xff,则会将前面的位数置0,保留最后一个字节的所有bit值,也就是00000000 00000000 00000000 11111111

相关文章
相关标签/搜索