二进制的与,或,左右移运算及原码补码反码

阅读源码时候发现自己对这些运算还不熟悉,所以写篇文章记录下来

符号描述说明0 00 11 01 1
|两个位都为1时才为10 | 0 = 00 | 1 = 01 | 0 = 01 | 1 = 1
&两个位都为0时才为00 & 0 = 00 & 1 = 01 & 0 = 01 & 1 = 1
^异或两个位相同为0,不同为10 ^ 0 = 00 ^ 1 = 11 ^ 0 = 11 ^ 1 = 0
~取反0变1 ,1 变 0
<<左移各二进位全部左移若干位,高位丢弃,低位补0
>>右移各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)
原码补码反码

1、正数的原码、反码、补码都一样;
2、负数的反码 = 它的原码符号位不变,其他位取反(取反的意思:0 换成 1 、 1 换成 0 );
3、负数的补码 = 它的反码 +1;
4、0的反码、补码都是0;
【特别注意】
1、在计算机运算的时候,都是以 补码 的方式来运算的 。
2、二进制 转为 十进制,必须使用 二进制 的原码进行转换
3、补码的补码就是原码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值