推 sdyy:一個int有4bytes 你只移兩個導致數值不對? 08/08 22:39
→ acespeed:所以是說我只有填入兩個byte進去~剩下的兩個high byte 08/08 22:50
→ acespeed:我也要自己填入嗎?~好像可能是這樣ㄟ!我試試!謝謝 08/08 22:51
推 priv:我覺得是你的 byte 收進來沒考慮正負號的問題吧。 08/08 23:48
推 priv: a 的 high byte 和你指定值給它有什麼關係,a 這邊用的是等 08/08 23:50
→ priv:於又不是 bit operation 08/08 23:50
推 priv:然後你還要注意 byte order 08/08 23:52
推 LPH66:重點應該是五樓提的問題 java 所有數字都是有號數 08/09 00:15
→ LPH66:所以不能單純用 high << 8 + low 合併 08/09 00:17
→ LPH66:視你的數值來源 (high << 8) | low 也不一定對 08/09 00:17
→ LPH66:比較穩的還是得要把所有來的 byte 先 &0xFF 再合併 08/09 00:18
推 jerrysky:byte要顯轉成int再去shift吧@@ byte直接shift不就不見了? 08/09 01:12
推 LPH66:我沒記錯的話 java 在對比 int 小的整數運算時會先變成 int 08/09 01:27
→ LPH66:其運算結果也是個 int 08/09 01:28
→ acespeed:好我試試看~謝謝大家 08/09 10:25