亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么toHexString()里要加&0xff?是什么意思?

把編碼轉成十六進制的時候老師做了Integer.toHexString(b & 0xff),這個& 0xff是做什么用的?謝謝。

正在回答

2 回答

b是byte類型占8位,而我們需要的int類型是32位,所以會進行符號位擴展。如果原來的byte為11111111,擴展后就會變為11111111 11111111 11111111 11111111,所以需要把前三位變為0,0xff二進制就是1111 1111,前三位都是0,所以與0xff相與后就只剩下最低的一位為1。

0 回復 有任何疑惑可以回復我~
#1

AngusHu 提問者

謝謝!有一點暈這個回答后面說的三位和前面的32,8位不是一個東西吧?有點亂...前面說的是不是bit。然后int如果是32位的豈不是很多特別大的數字就沒法用int類型了?
2016-12-14 回復 有任何疑惑可以回復我~

把前面的0去掉

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么toHexString()里要加&0xff?是什么意思?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號