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

相關文章
相關標籤/搜索