原码反码补码,与或非,异或,左移右移(无符号)

一个数据在计算机中的存储方式是以补码 的方式存储的

下面的例子以int类型来说(占4个字节,每个字节8个比特位)

对于正数来说,原码反码补码都是相同的,如15这个数15=8+4+2+1

原反补码都是:00000000  00000000  00000000  00001111

对于负数首先-15和15的

第一个区别在于原码的第一个位置(符号位),负数的符号位是1

所以-15的

原码是:10000000  00000000  00000000  00001111

第二个区别是反码是原码除了符号位以外全部取反(0->1,1->0)

反码是:11111111   11111111   11111111   11110000

第三个区别是补码是在反码的基础上面加1

补码是:11111111   11111111   11111111   11110001

而在进行与或非和异或这些操作时,都是使用补码来进行操作的

这两个补的是符号位

15>>2就是(去掉最右边两个,再在左边补两个0)

00000000  00000000  00000000  00000011

-15>>2就是(去掉最右边两个,再在左边补两个1)

11111111   11111111   11111111   1111100

注意符号位是1,不移动,最后要换回原码,这里是补码

这个是无符号的补0

-15>>>2就是(去掉最右边两个,再在左边补两个0)(给符号位保留)

00111111   11111111   11111111   1111100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值