16進制數據 和 數據類型 的微妙關系


 

 16進制的 ea 就是10進制的 -22(有符號數據,所以是-22,無符號是234)

 

 

 數據:

ffdbffdbffdb8443dd02000015009aea3f0000000000000000000000000000000000000000000000000004f052001db1e10000005900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009a630e0f0e0f0e0f

第15位是 ea ,獲取出來的數據強轉為short ,得到的是 -22 ,但是 select case 里面的 case 只會進 case -22 

那么不禁會問,這個第15位取出來的數據就是 ea,為什么case並不會進ea,原因是這個ea你要看是什么數據,如果是byte類型的,自然是有符號的負數,但如果是short 或者 int呢?高位補0后,自然就不是一個負數了,而是變成了正數 234 

 

 

 這里很明顯能看出,系並不會把這個 ea 看作是一個byte型數據,需要你強制轉換才能變成一個byte數據

 

 

強轉后,一切就明了了,(byte) 0xea 才是 -22,直接的 0xea 其實是234

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM