2的二进制是0010
如果你的数只有4个位的.
2 0010
(0)0100 //这是左移了1位.前边括号里的0没了.最后那个0是补充的.
5 0101
(01)0100 //向左移了两位.前边括号里的01没了.后边补充两个0.所以就是0100.
注意:向右移动也是和向左移动一样.移出去的位就不见了.
向右移位运算时用无符号数来运算.因为无符号数右移时.它在前边补充的总是0.
而有符号数有可能补充的是符号位.也有可能补充的是0.是没有规定的.比较麻烦.
左移几位就相当于乘以2的几次方(在没有溢出的前提下)
右移几位就相当于除以2的几次方(在没有溢出的前提下, 且右边保证补零的前提下)
注意: 左移 ,右移 注意溢出的情况
左永远移补 0
右移, 无符号数据时补 0 ,其他情况补能确定
阅读(7322) | 评论(0) | 转发(0) |