操作符详解

大家好,我是Nimsolax,今天来学习操作符吧

一,原码,反码,补码

整数的2进制表示方法有三种,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位最高位的一位是被当做符号位,剩余的都是数值位。

正整数:原码,反码,补码相同。

负整数:原码,反码,补码不同。

具体来讲讲负整数

负整数的反码是原码基础上,符号位不变,其他按位取反;

补码是反码的基础上加1

 

如 -1 的原码:1000 0000 0000 0001

反码:1111 1111 1111 1111 1110

补码:1111 1111 1111 1111 1111

补码变回原码,可以除符号位外,按位取反加1

注:CPU中只有加法器,在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理。

下面来进行1+(-6)计算

1  :0000 0000 0000 0001

-6:1000 0000 0110(原)

       1111 1111 1001(反)

       1111 1111 1010(补)

1(原码)和-6(补码)进行相加

 得:1111 1111 1011

取反:1000 0000 0100

加1:1000 0000 0101

注:因为算的符号位是1,所以要取反加1得原码,如果符号位是0,就不用了,因为正数原反补码相同。

显然结果是-5

二,移位操作符

1.左移操作符

  移位规则:左边抛弃、右边补0

2.右移操作符

移位规则:首先右移运算分两种:
1. 逻辑右移:左边用0填充,右边丢弃
2. 算术右移:左边用原该值的符号位填充,右边丢弃

 

逻辑右移1位演示
算术

逻辑

注:移位运算符不可移动负数位

三,位操作符

位操作符有四种

&:按位与
| :按位或
^ :按位异或

~:按位取反
注:他们的操作数必须是整数。

1.按位与

有0则为0,同时为1才为1

a=2,b=3

a&b

a:0000 0000 0010

b:0000 0000 0011

a&b:0000 0000 0010

2.按位或

有1则为1,同时为0才为0

a=2,b=3

a|b

a:0000 0000 0010

b:0000 0000 0011

a^b:0000 0000 0011

3.按位异或

相同为0,不同为1

a=2,b=3

a^b

a:0000 0000 0010

b:0000 0000 0011

a^b:0000 0000 0001

4.按位取反

a=3

a:0000 0000 0011

~a:1111 1111 1100

四,优先级

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值