如何對某一位清0或置位?

2022-08-27 06:45:10 字數 687 閱讀 7585

如何對某一位置0或者置1?

方法一:

寫成巨集,方便移植

#define setbit(x,y) x|=(1《而將該位設定為1的做法是:

#define int_i2_mask 0x0040 

wtemp = inword(int_mask);

outword(int_mask, wtemp | int_i2_mask);

判斷該位是否為1的做法是:

#define int_i2_mask 0x0040 

wtemp = inword(int_mask);

if(wtemp & int_i2_mask)

方法三:

int a|=(1<> (pos)&1)) //用巨集得到某數的某位

#define bitget(number,pos) ((number) |= 1<<(pos)) //把某位置1

#define bitget(number,pos) ((number) &= ~(1<<(pos)) //把某位置0

#define bitget(number,pos) ((number) ^= 1<<(pos)) //把number的pos位取反

典型操作有:

wtcon |=  (1 << 5) //wtcon的第五位清1 

wtcon &= ~(1 << 5) //wtcon的第五位清0   

C語言位操作中指定的某一位數置0 置1 取反

一 指定的某一位數置1 巨集 define setbit x,y x 1 二 指定的某一位數置0 巨集 define clrbit x,y x 1 三 指定的某一位數取反 巨集 define reversebit x,y x 1 三 獲取的某一位的值 巨集 define getbit x,y x y...

jquery滾動條固定在某一位置

檢視歷史訊息的時候,需要將滾動條維持在正在檢視的訊息位置。本方法是通過新增屬性data msg獲取當前的位置,offset top獲取滾動距離,demo如下 html div class box div class messagebox p 原資料1 p p 原資料2 p p 原資料3 p p da...

使暫存器中某一位置1,保持其他位不變

1 使暫存器中某一位置1,保持其他位不變 把某一位清零的辦法就是先只有這一位是1,再取反,只有這一位是零,其他位都是1,再與上這個暫存器,那麼就是使其他位不變,只有這一位 0,變成0,然後再或1。例如 define tim ccmr1 oc2pe uint16 t 0x0008 define tim...