二进制位运算

1.十进制 二进制转换 规则

        1.1 二进制转10进制


从二进制数的最右边(最低位)开始。
对于每个位,将其乘以2的幂,幂的值根据位的位置而增加。
将每个位的乘积相加,得到最终的十进制数。
举个例子,将二进制数1011转换为十进制数:
1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0
= 8 + 0 + 2 + 1
= 11

        1.2 十进制转2进制

从十进制数的最右边一位开始,不断地除以2,记录每次的余数(0或1)。
将得到的余数从下往上依次排列,得到的就是对应的二进制数。
例如,将十进制数 25 转换为二进制数:
25 ÷ 2 = 12 余 1
12 ÷ 2 = 6  余 0
6  ÷ 2 = 3  余 0
3  ÷ 2 = 1  余 1
1  ÷ 2 = 0  余 1

   2.位移 (用于将一个二进制数向右/左移动指定的位数) 

             2.1  >> 公式 : a >> b  = a / ( 2 ^ b ) 

             2.2   << 公式 : a >> b  = a * ( 2 ^ b ) 

 a = 10 
 a >>  2

         1 0 1 0

>> 2
--------------------------- 
         0 0 1 0 

a = 2 
 
公式 :
a  = 10 / (2 * 2 )
a =  10 / 4
a = 2
 

 

           

3.~ 位取反        

                3.1有符号整数 ~a = -a - 1

                3.2无符号整数 ~a = -(a +1)

4.位异或 ^

        如果两个相应的二进制位不同,则结果为 1,否则为 0。

5.位与运算符(&)

  • 如果两个对应位都是1,则结果位为1。

  • 如果至少有一个对应位是0,则结果位为0。

6.位或运算符(|)

  • 如果两个对应位都是0,则结果位为0。

  • 如果至少有一个对应位是1,则结果位为1。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值