- C语言中 1<<i 表示将1的二进制每位向左移动 i 位,末位补 0 。
- 左移运算符(<<)是C语言中的一种常见的运算符,一般用法可以通过下面的例子讲解来说明:
如:1<<5
由于1的二进制为 0000 0001,左移 5 位就是将每位向左移动 5 位,末位补 0,所以1<<5 后结果为0010 0000,转换为十进制就是32.
- 1<<i 表示1 左移 i 位,其值等于(转换为十进制数) 2的 i 次方。
mask 是掩码的意思
int mask=~(~0<<3); 详解
- mask 占4个字节,
- ~0表示0取反 结果为1,
1<<3 表示 1 向左移 3 个位置,
**结果是 0000 0000 0000 0000 0000 0000 0000 1000**
~(1<<3) 表示1<<3再 取反
**结果是 1111 1111 1111 1111 1111 1111 1111 0111**<br />**& 是”按位与“运算符**