→ pico2k:java 沒有unsigned byte... 01/18 18:05
推 snowlike:un不un的bits模樣都相同,第一個&不需要,右移補零請斟酌 01/18 18:22
→ claudehsu:→我知道沒有unsigned byte,現在問題就是不要有負數 01/18 18:27
→ claudehsu:→因為只要>128的數字就自動變負的,這樣去checksum會錯 01/18 18:33
→ pico2k:請改用int來做checksum... 01/18 18:47
→ claudehsu:→謝謝,我try看看 01/18 19:30
→ claudehsu:我終於試成功,只是我的疑問還是在,因為寫出去還是byte 01/18 20:22
→ corevalue:singed 跟 unsigned 祇是表示法不同而已 01/18 21:27
→ corevalue:sig:-2(0xFE)+1=-1(0xFF),unsig:254(0xFE)+1=255(0xFF) 01/18 21:34
→ corevalue:checksum 結果應該是一樣的 01/18 21:35
推 corevalue:signed跟unsigned有差的地方:1.小轉大(byte->int), 01/18 21:59
→ corevalue:2. ">>"後的運算..如 OR, AND 01/18 22:01
→ claudehsu:→在JAVA就有差,因為signed的話,超過128就變負,會錯 01/18 23:59
→ sbrhsieh:對不懂的人才會有差~~~ 01/19 02:05
→ sbrhsieh:照這樣子的做法並注意 endianness。 01/19 02:15