设为首页 加入收藏

TOP

C语言的位移操作 (左移,右移)
2012-11-26 12:34:53 来源: 作者: 【 】 浏览:405
Tags:语言 位移 操作   左移 右移

    2的二进制是0010

    如果你的数只有4个位的.

    2            0010

    (0)0100           //这是左移了1位.前边括号里的0没了.最后那个0是补充的.

    5           0101

    (01)0100            //向左移了两位.前边括号里的01没了.后边补充两个0.所以就是0100.

    注意:向右移动也是和向左移动一样.移出去的位就不见了.

    向右移位运算时用无符号数来运算.因为无符号数右移时.它在前边补充的总是0.

    而有符号数有可能补充的是符号位.也有可能补充的是0.是没有规定的.比较麻烦.

    左移几位就相当于乘以2的几次方(在没有溢出的前提下)

    右移几位就相当于除以2的几次方(在没有溢出的前提下, 且右边保证补零的前提下)

    注意: 左移 ,右移 注意溢出的情况

    左永远移补 0

    右移, 无符号数据时补 0 ,其他情况补能确定

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇用C实现PHP扩展类的步骤 下一篇浅谈二级指针

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: