拉斯厄尔高福 2020-04-22
int x = 16; printf("%d\n", x >> 1);
10000, 不读最后一位, 输出 1000, 即为8;int x = 16; printf("%d\n", x << 1);
先将x转成二进制 10000, 往最后再读取一位(0, 或根据是否已经有移位), 输出 100000, 即为32;
#include <stdio.h>
int main()
{
int x = 16;
printf("%d\n", x >> 3);
printf("%d\n", x >> 2);
printf("%d\n", x >> 1);
printf("%d\n", x << 3);
printf("%d\n", x << 2);
printf("%d\n", x << 1);
}结果为
2 4 8 128 64 32