c/c++ 右移>>运算符

c/c++的移位运算符

  • 在做无符号类型的左移和右移时,空位补0
    c/c++ 右移>>运算符

  • 在做有符号位的正数左移和右移时,依然遵循,空位补0
    c/c++ 右移>>运算符

  • 但是在做有符号的,负数类型的移位运算时,左移依然遵循空位补0,右移则是负数空位补1,正数空位补0
    c/c++ 右移>>运算符

为什么会出现这种情况?因为计算机采用补码形式进行存储,正数的补码是其本身,负数则是按位取反再加1;为了不影响符号位,出现了上述的情况下,

原文链接: https://www.cnblogs.com/tccxy/p/13426984.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c/c++ 右移>>运算符

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/201035

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午8:39
下一篇 2023年2月12日 下午8:39

相关推荐