看板 java 關於我們 聯絡資訊
: int data = 42; : for (int i = 0; i < 4; i++) : { : System.out.println("Sending: " + (data & 0xff)); : out.write(data); : data >>= 8; : } : s.close(); data => 42 (10進位) => 00000000 00000000 00000000 00101010 ---------------------------------------------------------- i = 0 00000000 00000000 00000000 00101010 11111111 (0xff) ---------------------------------------------------- 00101010 <--> Sending & write data >> 8 00000000 00000000 00000000 | (拋棄->) 00101010 ============================================================================== i = 1, 2, 3 依此類推 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.219.202
Racci:那請問 0xff是因為要轉成String的關係嗎? 09/10 17:39
Racci:不是很確定為什麼在這邊需要用0xff, 不過您講解的部份很清楚 09/10 17:41
Racci:非常的感謝!! 09/10 17:43
sunneo:用mask取出1 byte,然後繼續把整數往右推 就又可以繼續取出 09/10 19:53
drumrick:你把42改成256以上的數值跑看看或許就會懂了 09/10 19:57
Racci:感謝大家, 我會再試試看 09/12 07:09