计算机中两个整数的异或运算以及原码、补码、反码

1、知识预知:

⑴计算机中数值计算是以二进制补码形式进行计算。

⑵原码、反码、补码:

①原码:

     原码的存储位数是 8位,第一位为符号位,其余为数值位;符号位0为正,1为负。

示例:

       5的原码为:00000101

       -5的原码为:10000101

 

②反码:

     正数反码是其原码,负数的反码为:原码的符号位不变,其他位全部取反。

示例:

      5的反码为原码本身00000101

      -5的反码为:11111010,原码10000101中符号位1不变,其余位按位取反1111010,结果:符号位+数值位:11111010

2fe2e86a19754550be6467986acb595c.jpg

 

③补码:

     正数补码是其原码,负数补码符号位不变,其余位按位取反,再加1(即反码加1)。

示例:

     5的补码为原码本身00000101

     -5的补码为:11111011

e48bb7ca69eb4125a51a98407b68da46.jpg

 

2、计算机中两个整数的异或运算

     异或^:参与异或的两个数的二进制数,如果对应位相同(同为0或1)则运算后结果为0,否则为1。(简记:同为0,异为1)

 

注意:异或操作需要先把数转换成补码。

 

示例1(正数异或):

11e2a99788fa43f9a1705f083f76983c.jpg

 

 示例2(负数异或):

a049c5c9fd534d27a5c23076c49ef610.jpg

 

小结:①异或操作是二进制补码进行运算,最后转换为原码。

               ②负数的补码转换为原码:与负数原码转补码步骤相同。(符号位不变,其余位按位取反,再加1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值