计算机的位移运算 最近看编程思想看到操作符这章实在不理解位运算那地方的例子: 其实就是不明白计算机中是怎么进行位运算和负数是怎么表示的。网上查阅博客都是千篇一律,没有解决问题,且没有根据,今天看到《码出高效》这本书还没看过,就翻开看看,第一章就是讲位运算,看完之后豁然开朗,总结下计算机中是怎么进行位运算的。 一、计算机中负数的运算 计算机中是以二进制补码进行存储的,正数的原码、反码、补码都是一样,负数的补码是原码的反码再加1,这样可以减法运算可以使用加法器实现,符号位也参与运算(二进制的最高位为符号位0为正,1为负,以8位来算,最高位为符号位,其余7位表示数值),取反码与符号位无关。 eg: 二、移位操作 移位分为有符号左移(<<),有符号右移(>>) 无符号右移(>>>)没有无符号左移(<<<) 1、有符号位移运算,何为有符号左移、右移,因为计算机中符号位最高位0代表正数,1代表负数,所以正数有符号右移高位补0,负数有符号右移高位补1,不管有无符号位移运算左移低位都是补0。 借书上的的例子:

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/68921.html