第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在一個語句中多次按位移位

在一個語句中多次按位移位

慕容3067478 2021-09-15 14:22:08
我正在嘗試編寫一個方法,該方法接受一個 32 位 int 和一個表示 32 位 int 中一個字節(jié)的整數(shù),并返回傳入的字節(jié)。即 getByte(0x56781234, 0); // => 0x34。我的思考過程是,如果我可以將 int 右移到我想要的字節(jié)是 int 的最后一個字節(jié)的位置,我可以將其與 0xFF 進行 AND 運算以獲得該值。所以像,public int getByte(int num, int byteVal) {    return ((num >> 8) >> byteVal) & 0xFF;}但是我知道我的邏輯是有缺陷的。我試圖在一個語句中多次移動。警告:沒有乘法。建議?
查看完整描述

1 回答

?
www說

TA貢獻1775條經(jīng)驗 獲得超8個贊

您希望根據(jù) byteVal 的值向右移動 0、8、16 或 24。在您的示例中,即使 byteVal 為 0,您也已經(jīng)向右移動了 8,所以這不是方法。

那么,你如何將 0/1/2/3 變成 0/8/16/24 ......如果只有一個移位操作可以做到這一點!

return (num >> (byteVal << 3)) & 0xFF;


查看完整回答
反對 回復(fù) 2021-09-15
  • 1 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號