c/c++的移位运算符
-
在做无符号类型的左移和右移时,空位补0
-
在做有符号位的正数左移和右移时,依然遵循,空位补0
-
但是在做有符号的,负数类型的移位运算时,左移依然遵循空位补0,右移则是负数空位补1,正数空位补0
为什么会出现这种情况?因为计算机采用补码形式进行存储,正数的补码是其本身,负数则是按位取反再加1;为了不影响符号位,出现了上述的情况下,
原文链接: https://www.cnblogs.com/tccxy/p/13426984.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/201035
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!