“位操作”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導航、 搜索
(以“<pre style="color:blue"> #define lowByte(w) ((w) & 0xff) //取低字節(jié) #define highByte(w) ((w) >> 8) //取高字節(jié) #define bitRead(value, bit) ...”為內(nèi)容創(chuàng)建頁面)
 

2014年9月12日 (五) 17:16的最后版本

#define  lowByte(w)   ((w) & 0xff) 
  //取低字節(jié) 

#define  highByte(w)   ((w) >> 8) 
  //取高字節(jié) 

#define  bitRead(value, bit)   (((value) >> (bit)) & 0x01) 
  //讀一個bit 

#define  bitWrite(value, bit, bitvalue)   (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) 
  //寫一個bit 

#define  bitSet(value, bit)   ((value) |= (1UL << (bit))) 
  //置高一個比特位

#define  bitClear(value, bit)   ((value) &= ~(1UL << (bit))) 
  //清空一個比特位 

#define  bit(b)   (1 << (b)) 
  //生成相應bit