51讲 位运算①

     (bit)运算

 
 
      二进制
所谓二进制就是逢二进一  (0,1), 因为使用二进制只有 0, 1 两个数,简单,易于电子方式实现,同时,通过0,1 组合可以表示任意一个数.
 
 
☞二进制有三个重要的概念
1.      原码
用二进制来表示一个数,这个码就是原码.
 
1 ------> 原码   00000000 0000000 0000000 00000101  = 1*2 的零次方+0*2的一次方 +1* 2的二次方 =1+0+4=5
 
 
 
 
2.      负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)
 
反码(正数的反码和它的原码一样 , 负数反码是符号位不变其它位取反)
补码(正数的补码和它的原码一样,负数的补码是它的反码+1)
举例
 
-1
-1的原码 10000000 00000000 00000000 00000001
-1的反码 11111111 11111111  11111111 11111110
-1 的补码 11111111 11111111 111111111 11111111
 
 
 
 
3.      在计算机运算的时候,都是以补码的方式来运算的
 
4+5=>计算机 4-5=4+(-5)
 
这句话意思就是,不管一个数是正数还是负数,都要被转成补码,然后进行运算.
 
 
      位运算一览表
<IGNORE_JS_OP>82.jpg
2012-12-4 17:43 上传
下载附件 (45.02 KB)
 
该图的前面四个是位运算
其运算规则是:
按位与& : 两位全为1,结果为1
   按位或|  :   两位有一个为1,结果为1
   按位异或 ^ : 两位一个为0,一个为1,结果为1
   按位取反 :   0->1 ,1->0
 
看看前面给出的题,是否完成
~2=?   
 
步骤首先要求出 2 补码
 
2是正数所以原码 =反码 =补码
 
2 原码
 
00000000 00000000 00000000 00000010
 
~2
 
11111111 11111111 11111111 11111101  (补码)->原码
 
? 负数的原码-》反码-》补码
11111111 11111111 11111111 11111101->
 
推出其反码 (对补码-1)
 
 
11111111 11111111 11111111 11111100
 
推出原码

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值