C语言中temp=1<<i;是什么意思,temp和i定义为整型。我知道<<是移位的意思如果i=3那么temp=?

2024-12-01 03:58:47
推荐回答(1个)
回答1:

你要用二进制的方式来考虑这种问题,比如你说的
i=3,temp = 1<首先对于1来说,二进制就是0001,移位后是1000,然后转成10进制就是8了。
一般来说,这种移位是为了做与运算的时候判断这一位是否为1。
对于你提的后面那一串就是将WGM01,WGM00,COM01,COM00,CS00,CS02这几个位置都置一。这个一般是作为判断位来使用的。