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)  

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------学习记录,都是基本知识------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    20162302预备作业02
    20162302预备作业01
    设计模式第二次作业
    设计模式第一次作业
    项目选题报告(团队)
    高级软件工程结对第二次作业
    高级软件工程团队第一次作业
    高级软件工程结对第一次作业
    高级软件工程第二次作业
    高级软件工程第一次作业--准备
  • 原文地址:https://www.cnblogs.com/hugue/p/5020717.html
Copyright © 2011-2022 走看看