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

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

什么是 | Java 中的運算符在做什么?

什么是 | Java 中的運算符在做什么?

慕仙森 2023-10-13 10:30:22
我讀了一些 Java 代碼并發現了| 操作員。任何人都可以知道操作員在這種情況下正在做什么嗎?for (int i=0; i<8; i++) {             x[i] = hexBytes[i*4]   << 24                  | hexBytes[i*4+1] << 16                  | hexBytes[i*4+2] << 8                  | hexBytes[i*4+3]; }
查看完整描述

2 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

按位OR(和AND)可用于位處理。AND允許您提取一組位:int lowest8bits = 0xFFFFF & 0xFF;.


您可以使用OR它插入位。int在上面的代碼中,通過將 4 個字節移動到正確的位置并OR對其進行 ing,將它們插入到相同的內容中。


                           10010010 byte

                  10010010 00000000 << 8

00000000 00000000 00000000 00010110 The int we're building

00000000 00000000 10010010 00010110 End result in int after OR


查看完整回答
反對 回復 2023-10-13
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

使用的運算符有:

  1. “<<(左移)”:二進制左移運算符。左操作數的值向左移動右操作數指定的位數。

    1. “>>(右移)”:二進制右移運算符。左操作數的值向右移動右操作數指定的位數。

    2. “|(按位或)”:二元或運算符復制一個位(如果任一操作數中存在該位)。

在你的代碼中:

hexBytes[i*4]   << 24

hexBytes[i*4] 的二進制值左移 24 位。與其他相同,結果是按位或| 操作員。


查看完整回答
反對 回復 2023-10-13
  • 2 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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