这个是携州c++中的裤明左移操作符
表示把1转化为二进制数向左移动i+3个位置后再转化成十进制数赋胡隐告值给n
左移后右边空缺的位置用0补齐
<<是扮孙手向左移位操作符,相当于乘以多少个2
n=1<<(i+3)就凯春是 把1左移i+3位,然后结厅嫌果赋值给n;也就是n=2的i+3次幂
如果i=1,那么n=1<<4=2*2*2*2=16
举个铅镇例子吧,大致的岩激行上一位哥们儿也说的差不多了。
十进制的8化为二进制就是1000,那么1000<<3就是左移三粗哗位变成1000000(二进制)。而&则是位与的意思,唉,还是举例子吧!比如11&10,先化为二进制,也就是1011和1010,计算后变成1010
具体如下:
0&0 = 0
0&1 = 0
1&0 = 0
1&1 = 1