您的位置:首页 > 编程语言 > C语言/C++

C语言左移右移

2013-09-24 22:31 253 查看
int len = 3;

int a = 2;

int leng = a<<len; //相当于a*2^len

printf("%d", leng); //输出结果是16

int len = 3; //二进制表示为00000011

int leng = len<<1; //左移一位,变成00000110,leng = 6

int len = 3;

int leng = len >> 1; //右移一位,变成00000001,leng = 1

int len = -3; //二进制原码为10000011,补码=反码+1=11111101

int leng = len <<1; //左移一位,变成11111010,再变成补码=反码+1=10000110,leng = -6

int len = -3;

int leng = len >>1; //右移一位,变成11111110,再变成补码=反码+1=10000010,leng = -2

具体参照下文章
http://www.cnblogs.com/myblesh/articles/2431806.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 左移 右移