C语言中的 “>>”与“<<”
1.
int x = 16; printf("%d\n", x >> 1);
先将x转成二进制 10000
, 不读最后一位, 输出 1000
, 即为8
;
2.
int x = 16; printf("%d\n", x << 1);
先将x转成二进制 10000
, 往最后再读取一位(0, 或根据是否已经有移位), 输出 100000
, 即为32
;
以上不包含溢出情况, 且只有能用在int、short int、long int,可能有错漏。
#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
相关推荐
lpkwxl 2020-06-17
Android开发CXY 2020-11-11
RealJianyuan 2020-06-14
pbyanglove 2020-06-09
徐建岗网络管理 2020-06-09
fengjing81 2020-06-06
lynjay 2020-06-02
wujingsheng0 2020-05-16
吴小伟 2020-05-09
sillion 2020-05-03
xiaobater 2020-05-01
ericasadun 2020-04-26
lynjay 2020-04-26
choupiaoyi 2020-04-26
tydldd 2020-04-23