2014年10月17日 星期五

[Android] Sign & Unsign number (0~256) vs (-128~127)

*不一定是完全正確,可參考*

寫android寫到一個難題,解決了以後把他記下來,以免下次又忘記。

這個問題java也會遇到(其實android根本就是用java寫的....),所以java的也可以稍微參考一下

-----------------------------------------------------------------------------------------------------------------------

在android 裡面byte是沒辦法超過127的,所以如果我們要丟128以上的數字出去,就必須要作調整

不然即使強制轉換: (byte)129 這樣 ,仍然無法使用。java的世界裡面只有


0~127(正數)

---------------------------------

128~255(必須用負數表示)


在255的時候為 -1 因此.....128必須用-128表示(128-256 = -128)

也就是說 if( x > 127){
                      x = x-256;
                    }

這樣java才看得懂。

有看到網路上的人用&&FF ,不過那方法我也不太懂,所以就沒用了。

End.