発表


#define DKUTIL_MASK_BIT(bit,n) bit &= (1 << n)
#define DKUTIL_MASK_BIT_RANGE(bit,min_,max_) bit &=
(^(0xFFFFFFFF >> 32 - min_)) &
(0xFFFFFFFF >> 32 - max_)

ちなみに上記は間違っている。
やっぱり素直にHacker's Delight買うか?(´Д⊂グスン マニィがーーー


#define DKUTIL_MASK_BIT(bit,n) (bit &= (1 << n))

//(bit &= ( (0xFFFFFFFF << min_ ) >> (32 - max_) ) )
//( bit &= ( ( 0xFFFFFFFF << ( max_ - min_ ) ) &
( 0xFFFFFFFF >> ( 32 - max_ ) ) ) )

#define DKUTIL_MASK_BIT_RANGE(bit,min_,max_) \
(bit &= ( 0xFFFFFFFF >> ( 32 - max_ - 1 )) & (0xFFFFFFFF << (min_)) )

もうちょっとふんばって小さい脳みそをフル回転・・・
とりあえず、OKみたい?
ビット演算って自転車に乗れるか乗れないかみたいなもの?