zoukankan      html  css  js  c++  java
  • 位运算,效率高

    1、先理解原码、反码、补码

      正数的原码、反码、补码都一样。

        举例  10为例。

      关键是负数。

          原码:

          反码:最高位不变,其余的取反得到:1111  1111  1111  1111  1111  1111  1111  0101

          补码:等于反码加1。         1111  1111  1111  1111  1111  1111  1111  0110

    2、位运算

      位运算符:操作数是整数,但是操作负整数时,用的是补码!!!!!

      左移   << :  右边补0

      右移   >>:   左边补0或1,如果原数最高位是1就补1,是0就补0.

      无符号右移   >>> :  左边补0

      按位与  & :二进制对应位置取与  ,同时为1才为1,否则为0

      按位或  | :二进制对应位置取或  ,有一个为1就为1

      按位异或运算 ^ :二进制对应位置取异或  ,两者不同才为1

      按位取反  ~ :二进制对应位置取反  ,原来是1,变为0,原来是0变为1

      说明:位运算符都是机器数直接运算的

        

  • 相关阅读:
    UIButton 动态改变文本闪烁问题
    利用GDataXML解析XML文件
    限制键盘只能输入数字
    获得view所在的控制器
    使用Canvas绘制简单的时钟控件
    Spring整合ActiveMq消息队列
    Symmetric Key Encryption DES
    OSPF 高级实验
    OSPF 基础实验
    EIGRP 高级实验
  • 原文地址:https://www.cnblogs.com/xingrui/p/10198857.html
Copyright © 2011-2022 走看看