virusx1984 发表于 2014-2-1 08:48:47

再看C语言高效编程的帖子时候看到的一段代码,看不懂,求解释

本帖最后由 virusx1984 于 2014-2-1 08:50 编辑

代码如下:
#define bwMCDR2_ADDRESS 4
#define bsMCDR2_ADDRESS 17
int BIT_MASK(int __bf)
{
 return ((1U << (bw ## __bf)) - 1)<< (bs ## __bf);
}
void SET_BITS(int __dst,
int __bf, int __val)
{
 __dst = ((__dst) & ~(BIT_MASK(__bf))) |
\
 (((__val) << (bs ## __bf))
& (BIT_MASK(__bf))))
}
SET_BITS(MCDR2, MCDR2_ADDRESS,RegisterNumber);这句话“return ((1U << (bw ## __bf)) - 1)<< (bs ## __bf);”是干嘛的,bw和bs没看到有定义啊,##又是什么东西。请高手解释一下,谢谢

virusx1984 发表于 2014-2-3 20:01:30

我顶顶,高手在哪儿

未闻丶花名 发表于 2014-2-7 10:54:39

路过看看= =
页: [1]
查看完整版本: 再看C语言高效编程的帖子时候看到的一段代码,看不懂,求解释