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)
这句话意思就是,不管一个数是正数还是负数,都要被转成补码,然后进行运算.
      位运算一览表
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、付费专栏及课程。

余额充值