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)  

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------学习记录,都是基本知识------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    八大排序算法
    大数据系列文章汇总
    HBase原理、设计与优化实践
    hbase分页应用场景及分页思路与代码实现
    【HBase】zookeeper在HBase中的应用
    HBase什么时候作minor major compact
    Namenode HA原理详解(脑裂)
    【版本特性】sql server2005版本特性
    Navicat破解版下载安装
    MongoDB(2.2)MongoDB的安装与基本使用
  • 原文地址:https://www.cnblogs.com/hugue/p/5020717.html
Copyright © 2011-2022 走看看