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

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

關于讀取字節的問題

老師說每次讀取字節的時候讀取的是低八位的。那如果一個int變量,高八位不全是0,那讀出來的字節數據豈不是就是錯誤的了。

關于這個一直挺困惑,請大神解答。

正在回答

2 回答

Java 中的一個byte,其范圍是-128~127的,如果不進行&0xff,那么當一個byte會轉換成int時,對于負數,會做位擴展,舉例來說,一個byte的-1(即0xff),會被轉換成int的-1(即0xffffffff ), 那么轉化出的結果就不是我們想要的了。?
而0xff默認是整形,所以,一個byte跟0xff相與會先將那個byte轉化成整形運算,結果的高24位就會被清0,這是我們想要的結果。

?看看這篇博客吧,http://makemyownlife.iteye.com/blog/1047717

很好的解答了你的問題。希望能幫到你。

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

春暖不開花 提問者

這個問題我現在想清楚了。
2016-01-05 回復 有任何疑惑可以回復我~
#2

春暖不開花 提問者

但是現在有個問題就是說,如果我想自己手動的用syso去輸出一個int的負數,我直接syso(0xe8)這樣輸出出來還是個整數,這樣是但不上負號的,那我應該采用什么方式,直接在控制臺輸出一個負數呢。
2016-01-05 回復 有任何疑惑可以回復我~
#3

春暖不開花 提問者

我知道哪里不對了。早晨起來突然明白了。
2016-01-05 回復 有任何疑惑可以回復我~
#4

Its_forever 回復 春暖不開花 提問者

哈哈,挺好。加油,共勉。
2016-01-05 回復 有任何疑惑可以回復我~
查看1條回復

每次讀低八位,并不代表剩下的不讀啊。

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

春暖不開花 提問者

恩,是的,之前是我有個地方沒想通。
2016-01-05 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于讀取字節的問題

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

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

幫助反饋 APP下載

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

公眾號

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