zoukankan      html  css  js  c++  java
  • 移位

    1 .  左移运算符和右移运算符

         int number = 20;        //  0001 0100
            number = number << 1;   //  0010 1000   40    左移运算符
         
         number = 20;       // 0001 0100 number = number >> 1;  // 0000 1010 10 右移运算符

    2. 无符号位右移  :  表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0,变为正数

                                  没有无符号左移也就是没有 <<< 这个符号

    int number = -20;      //  1110 1100   -20
    number = number << 1; // 1101 1000 -40

    number = -20;      // 1110 1100 -20
    number = number >> 1; // 1111 0110 -10

    number = -20;          //  1110 1100   -20
    number = number >>>1; // 0111 0110 118

    3.  ^ 是位异或运算符

    a ^= b;   相当于 a = a^b   a = 5; b=4; 
    相当于 (101)^(100) = 001 a = (001) = 1

     4.  &,双目运算符:将两个表达式的值按二进制位展开,对应的位(bit)按值进行“与”运算,结果保留在该位上

    ①: 该位只要有一个值为0结果为0,否则结果为1。
    ②: 如果两数位数不同,则较短数高位补零,再运算

    170&204 = 1010 1010 & 1100 1100 = 1000 1000 = 136

     5.  a<<=n 等价于a=a<<n

  • 相关阅读:
    Database
    模式匹配
    About Unicode
    Dive into python学习笔记
    Python基本概念及零碎知识点
    Djnago的一些零碎知识点
    python项目练习3:万能的XML
    Django的第一个web程序及深入学习
    Poj1195&tyvj1474二维线段树
    zoj2319Beautiful People Dp
  • 原文地址:https://www.cnblogs.com/an5211/p/7776897.html
Copyright © 2011-2022 走看看