伊莉討論區
標題:
陣列取值位移
[打印本頁]
作者:
qequalqy
時間:
2016-7-16 04:53 AM
標題:
陣列取值位移
把兩個數字丟入這個公式裡面
(bytes[offset + 1] << 8) + (bytes[offset] & 0xFF);
bytes[offset + 1]=0
bytes[offset]= 98
輸出為98
bytes[offset + 1]=1
bytes[offset]= 116
輸出為372
bytes[offset + 1]=0
bytes[offset]= -45
輸出為211
bytes[offset + 1]=-2
bytes[offset]= -17
輸出為-273
請問大大們這個要怎麼運算阿....只看得懂第一題....
作者:
22616846
時間:
2016-7-16 09:09 AM
本帖最後由 22616846 於 2016-7-17 09:29 AM 編輯
如果把 bytes[offset + 1] 看成變數a
bytes[offset] 看成變數b
(a << 8)
等同於
(int)(a*Math.pow(2 , 8));
(b & 0xFF)
等同於
if(b < 0) b = b % 256 + 256;
else if (b < 256) b = b;
else b = b % 256;
作者:
qequalqy
時間:
2016-7-17 02:52 AM
那....
bytes[offset + 1]=1
bytes[offset]= 116
輸出為372
bytes[offset + 1]=1
bytes[offset]= 13
輸出為269
那是為什麼?
作者:
22616846
時間:
2016-7-17 09:31 AM
抱歉,我打錯了,應該是Math.pow(2 , 8),而不是Math.pow(a , 8)
作者:
qequalqy
時間:
2016-7-17 08:10 PM
在請問一件事
我從儀器上抓到一段資料
sensorData : [B@3eda0435
sensorData[0~18] : {11, 7, 0, -3, -1, 14, 1, 82, 0, -99, -1, -125, -1, 125, -1, -57, -7, 33, 13}
應該是sensorData轉換成sensorData[0~18]嗎??他們是如何分解出來的? 可以大概講一下嗎? 謝謝ˋ
作者:
22616846
時間:
2016-7-17 10:53 PM
這個我就不清楚了,請問這個是java語法嗎,因為我對別的程式語言不是那們熟悉
作者:
snowflying
時間:
2016-7-17 10:59 PM
本帖最後由 snowflying 於 2016-7-18 12:59 AM 編輯
qequalqy 發表於 2016-7-17 08:10 PM
在請問一件事
我從儀器上抓到一段資料
sensorData : [B@3eda0435
sensorData : [B@3eda0435
這個是不是直接印出 sensorData?
在沒有 override String toString() 的情況下
印出來的只能當作他的識別符而已喔,與內容並沒有直接的關係
可以看一下 Object 內的 toString()
https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#toString()
歡迎光臨 伊莉討論區 (http://aaa.eyny.com/)
Powered by Discuz!