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)  

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------学习记录,都是基本知识------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    Ubuntu16.04搭建NetCore2.2运行环境
    Centos7安装Redis5.0.3
    Centos7常用命令
    logstash6.5.4同步mysql数据到elasticsearch 6.4.1
    Windows下安装Elasticsearch6.4.1和Head,IK分词器
    【selenium】-自动化测试的前提
    【软件测试基础】回顾总结
    【软件测试基础】其它测试分类
    【软件测试基础】文档测试
    【软件测试基础】兼容性测试
  • 原文地址:https://www.cnblogs.com/hugue/p/5020717.html
Copyright © 2011-2022 走看看