2016年7月30日 星期六

& 0xFF的意思

只取後面8bit的意思

int 的長度是 4Bytes & and 運算子,就是將
每個位元拿來進行 and 運算,根據 and 運算的規則
只有兩者皆為 true (1) 的結果才為 1

舉例: 
假設這個 i 12345 => 0x3039 (Hex)
i & 0xFF

0x3039=>0011000000111001(Bin)
0xFF  =>0000000011111111
____________________________
結果:0000000000111001

由於前面的 bits 都是 0 ,所以實際上有用的只有後面的 8 bits

此紀錄是因為在實作用android透過藍芽傳資料給Arduino時,在Arduino收到資料後用&0xFF將資料還原,因為android須將資料轉成byte(十進制),才可以送給Arduino

資料來源 : http://morred.blogspot.tw/2014/03/0xff.html

沒有留言: