zoukankan      html  css  js  c++  java
  • 移位操作符 位操作符

    1.移位操作:把一个值的位左移或右移

         左移:<<       右移:>>

      逻辑移位:用0补齐

      算术移位:左移时用0补齐,右移时整数用0补齐,负数用1补齐

      1.左移:高位舍弃,低位补0

        5 << 2

        00000101   --->   00010100    由5变为20

        左移k位相当于扩大2^k倍

      2.右移:

        无符号位是逻辑移位,有符号位采用逻辑移位还是算术移位由编译器决定

        右移相当于缩小2^k倍

    说明:1.采用有符号位右移程序不可移植

       2.移位负数位属于未定义行为,由编译器决定

          如   a << -5    

    2.位操作符

      & 与         | 或          ^亦或    ~非

      1.把value中的n位(从右至左)上的值设为1

        value = value |  (1 << n);

      2.把value中的n位(从右至左)上的值设为0

        value = value & (~ (1 << n));

      3.对指定位进行测试为1则返回非零值

         value = value & (1 << n)  

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------学习记录,都是基本知识------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    Android简易注解View(java反射实现)
    android注解[Jake Wharton Butter Knife]
    Android渠道汇总
    SVN管理规范
    马上着手开发iOS应用程序一 todolist
    MVC记录
    OC中intValue要注意的地方
    将从数组中取到的字符串赋值给了UIImage导致的错误
    一个null引发的错误
    记录一些容易忘记的属性 -- UITabBarController
  • 原文地址:https://www.cnblogs.com/hugue/p/5020717.html
Copyright © 2011-2022 走看看